如何确定您的单元测试夹具是否“合适”?

3
你如何确定你的“测试夹具”大小是否适当。在这里,“测试夹具”指的是一个包含多个测试的类。
我一直注意到我的测试夹具变得有点冗长;但也可能不够详细,那么你如何判断你的单元测试是否足够精简?
我的假设是(至少在Web开发的背景下),每个页面应该有一个测试夹具类。
我知道一个很好的引用语句:
“完美不是没有东西可以添加,而是没有东西可以去掉。”-安托万·德·圣-埃克苏佩里。

对于那些想了解单个单元测试及其大小的人,请参阅此问题:http://stackoverflow.com/questions/2829726/how-to-know-if-your-unit-test-is-right-sized - leeand00
2个回答

4
这更贴近于您的问题:
我使用的度量标准是“测试直到您感到舒服”(不确定来源)。我会一直测试代码,直到我感到我的代码是正确的。如果您有疑虑,您可能没有足够的测试。如果你觉得你在浪费时间,你应该停止。
重新阅读,我认为以下内容并没有回答您的问题:
根据测试装置的定义,它是设置函数、对象和模拟对象,这些都是使系统能够正常工作所必需的:当我编写测试时,通常会复制代码,然后将其重构并隐藏在一个区域中(C#)。我尝试将我的测试保持在5-10行的范围内,因此,如果存在超过此范围或混淆了测试含义的代码,则将其放在装置区域。我通常不太担心装置大小,而是更关注确保我有足够的测试,并测试了我的功能。

东西?你必须更具体一些...你是指在所有扩展基类的单元测试中使用的基类通用函数吗? - leeand00

1

虽然这不是一个硬性规定,但如果您有详细的需求或用户故事,每个需求/故事一个测试可能是一个很好的起点。尽管如此,用户故事通常并不涵盖可能出现问题的所有情况,因此您需要添加那些旨在评估您的组件/层在异常条件下是否表现出确定性行为的场景。

在学校里,我们学习如何进行边界测试、范围测试等,如果您有时间,这是非常好的,但在许多公司中,事情都太忙了,因此围绕需求构建测试至少可以帮助确定是否满足业务要求。从安全角度来看,单元测试具有非常不同的考虑因素,因此您可能需要采取其他方法,并且衡量足够程度将会更加困难。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接