我听到很多人说测试应该简单、易于维护和直观,但在单元测试中如何实现代码的可重用性呢?
让我们举个例子:
def test_some_1():
...some code
def test_some_2():
...code repeated from test_some_1
在两个测试中,将重复的代码封装在一个包含必要断言的函数中是否最好?我曾与一些程序员争论过这个问题,他们不同意。他们认为测试应该是简单的,这里不需要代码可重用性。原因是在Django控制台中,由于断言在函数中,所以很难确定断言实际上失败了,虽然我不同意,因为使用nose会给出测试名称和回溯信息,但那些人再次不同意,称测试可以单独调用而不使用nose(因此无法看到所有这些细节)。你们认为呢?
- 在单元测试中使用代码可重用性是否好?
- 如果可重用性可/必须使用,如何解决关于定位断言的另一个问题?
setUp
和tearDown
吗?https://docs.python.org/2/library/unittest.html#unittest.TestCase.setUp - Mihai Zamfir