我知道unittest
Python模块.
我知道课堂的assertRaises()
方法TestCase
.
我想编写一个在未引发异常时成功的测试.
有什么提示吗?
def runTest(self): try: doStuff() except: self.fail("Encountered an unexpected exception.")
更新:正如liw.fi所提到的,默认结果是成功,所以上面的例子是反模式.如果你想在失败之前做一些特别的事情,你应该只使用它.您还应该捕获可能的最具体的异常.
测试运行器将捕获您未声明的所有异常.从而:
doStuff() self.assert_(True)
这应该工作正常.您可以省略self.assert_调用,因为它实际上没有做任何事情.我喜欢把它放在那里以证明我没有忘记一个断言.
我使用这种模式作为你问过的断言:
with self.assertRaises(Exception): try: doStuff() except: pass else: raise Exception
当doStuff()引发异常时,它将完全失败.