self.assertRaise not catching TypeError even though it is being raised
本问题已经有最佳答案,请猛点这里访问。
有以下功能:
1 2 3 4 | def is_complete(grph): if not isinstance(grph,graph): raise TypeError ... |
和下面的测试用例的信息:
1 2 3 | def test_is_complete_q4(self): g1 = [1] self.assertRaises(TypeError, is_complete(g1)) |
把下面的错误: 误差 (最新呼叫追踪货物的):
1 2 3 4 5 | File"/Users/.../test_graph_functions.py", line 34, in test_is_complete_q4 self.assertRaises(TypeError, is_complete(g1)) File"/Users/.../graph_functions.py", line 6, in is_complete raise TypeError TypeError |
我可以明确看到TypeError婊子为什么我育我的单元测试失败?
您将调用的返回值传递给
1 | self.assertRaises(TypeError, is_complete, g1) |
或者,您可以使用
1 2 | with self.assertRaises(TypeError): is_complete(g1) |