簡體   English   中英

如何在setUpClass中使python單元測試失敗?

[英]How to fail a python unittest in setUpClass?

我正在使用python進行一些單元測試,並在setUpClass一些預測試。 我如何可以拋出一個unitest - fail的內setUpClass ,如下面的簡單的例子:

class MyTests(unittest.TestCase):

    @classmethod
    def setUpClass(cls):    
        unittest.TestCase.fail("Test")

    def test1(self):
        pass

if __name__ == '__main__':
    unittest.main()

給出錯誤TypeError: unbound method fail() must be called with TestCase instance as first argument (got str instance instead)

我理解我得到的錯誤是失敗是一個實例方法,我還沒有MyClass的實例。 像實時使用實例一樣

unittest.TestCase().fail("Test")

也不起作用,因為unittest.TestCase本身沒有測試。 有什么想法,如果setUpClass某些條件,如何在MyClass失敗所有測試?

后續問題:有沒有辦法在setUpClass查看測試?

放入setUp實例方法的self.fail("test")失敗所有測試

我認為在類級別執行此操作的最簡單方法是創建類變量,如下所示:

@classmethod
def setUpClass(cls):
   cls.flag = False

def setUp(self):
   if self.flag:
       self.fail("conditions not met")

希望這是你想要的。

使用簡單的斷言應該有效

assert False, "I mean for this to fail"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM