我想在我的一个python文件中测试一个失败场景,如下所示:
source.py
def myfunc():
a()
关联测试.py
def testMyFuncException():
a = Mock()
a.side_effect = MyError
with self.assertRaises(MyError) as _ : <--- THIS LINE I CANNOT USE self.assertRaises
..
但这里我不能使用self,因为它与任何类都没有关联。所以我没有得到任何关于如何做到这一点的线索
编辑
根据建议,我现在做了如下工作:
def testMyFuncException(TestCase):
a = Mock()
a.side_effect = MyError
with TestCase.assertRaises(MyError) as _ :
...
现在我得到的错误如下:
E fixture 'TestCase' not found
在
unittest
测试框架中需要一个TestCase
夹具。通常的方法是创建一个从unittest.TestCase
继承的类。然后,您将能够使用self.assertRaises
方法,以及TestCase
类中的其他断言:另一种可能是使用pytest而不是unittest。在这种情况下,您不需要单独的测试类:
相关问题 更多 >
编程相关推荐