在单元测试结束之前assertRaises中的函数是否完成?

时间:2011-06-23 18:01:34

标签: python unit-testing

def test_invalid_host(self):
    controller = SSHController("host name")
    self.assertRaises(SSHException, controller.login())
#test_invalid_host End

在测试通过之前,controller.login()是否会完成,或者一旦引发SSHException,测试就会通过吗?

1 个答案:

答案 0 :(得分:3)

一旦引发SSHException,assertRaises方法就会捕获异常。所以controller.login的其余部分没有运行。

PS。一定要打电话

self.assertRaises(SSHException, controller.login)

{/ 1}}后没有括号。如果您编写controller.login,那么在调用controller.login()方法之前会调用login方法,因为在传递给函数/方法之前会对所有参数进行求值。