2 回答

TA貢獻1863條經(jīng)驗 獲得超2個贊
實際上,與我上面的評論相反,我認為您需要的是一種setUpClass
方法。從文檔中,
如果在setUpClass期間引發(fā)異常,則不會運行該類中的測試,也不會運行tearDownClass。[...]如果該異常是SkipTest異常,則該類將被報告為已跳過而不是錯誤。
因此,這樣的事情應(yīng)該起作用(我敢肯定它會更整潔):
class TestMyClass(unittest.TestCase):
@classmethod
def setUpClass(cls):
# run the constructor test
if constructor_test_failed:
raise unittest.SkipTest("Constructor failed")
def test_other_stuff(self):
# will get run after setUpClass if it succeeded

TA貢獻1789條經(jīng)驗 獲得超10個贊
我沒有建議如何避免運行“依賴”測試,但是我有建議您如何更好地使用它們:使依賴關(guān)系更加明顯,從而使以后分析測試失敗更加容易。一種簡單的可能性如下:
在測試代碼中,將用于較低級別方面的測試放在文件的頂部,而將更具依賴性的測試放在底部。然后,當幾個測試失敗時,請首先查看最接近文件頂部的測試。
添加回答
舉報