我一直听到人们说测试应该如何简单、可维护、直接,但是单元测试中的代码可重用性会发生什么?
让我们举个例子:
def test_some_1():
...some code
def test_some_2():
...code repeated from test_some_1
将来自两个测试的重复代码封装在一个包含必要断言的函数中不是最好吗?
我和一些程序员就这个问题争论过,他们不同意,他们说测试应该是愚蠢的,代码的可重用性在这里不好。这样做的原因是因为在 django 控制台中不是很清楚断言实际失败的位置,因为断言在函数中,尽管我不同意,因为与鼻子一起使用它会给你测试的名称和回溯,虽然伙计们再次不同意,指出可以在没有鼻子的情况下单独调用测试(因此你看不到所有这些细节)。
你们有什么感想?
- 在单元测试中使用代码可重用性好不好?
- 如果可以/必须使用可重用性,那么如何克服关于精确定位断言的其他问题?