假设有一个像这样的测试用例使用unittest测试两个功能
class Test(unittest.TestCase):
def setUp(self):
self.something = X()
def test_this(self):
assert self.something.part1()
def test_next(self):
assert self.something.part2()
在setUp中,对象将存储self.something。
如果过程test_next依赖于self.something.part1()?
,该怎么办?如何在test_next中重用self.something.part1()?
我不想创建存根。我想在unittest中寻找功能,如果它使这成为可能而不是去模拟。
答案 0 :(得分:1)
您不得使您的测试用例相互依赖。将依赖的东西移动到setUp
,或者将其放入非测试共享方法prepare_something_part1
并从所有相关的测试用例中调用它,但不要让你的测试套件陷入困境,这种相互依赖很难维护,使用
代码重用是好事,也是测试驱动的开发。
通过测试驱动开发,编写测试用例和代码重用(在测试用例中)并不是那么重要。
简单地说:放松,玩写测试用例和测试用例中的代码重用很快就会出现。