如何知道你的单元测试是否“合适”?

时间:2010-05-13 19:34:40

标签: unit-testing language-agnostic complexity-theory

我经常在单元测试中注意到的一件事就是它们有点冗长;因为他们也可能不够冗长,你怎么知道你的单位测试的大小是合适的?

我知道一个很好的引用,这是:

  

“实现完美,而不是何时实现   没有什么可以补充的,但什么时候   没有什么可以删除。“    - Antoine de Saint-Exupery。

3 个答案:

答案 0 :(得分:3)

他们变得冗长的一个原因是他们正在测试多种东西。我尝试让每个单元测试测试一件事,只有一件事。所以我最终得到了很多测试,每个测试都断言一个功能。它运行良好,因为在进行其他断言之前,失败不会通过挽救单元测试来掩盖另一个失败。

编写像这样的细粒度测试意味着如果你不小心,你将复制 lot 的设置/拆卸代码,这就是你需要花时间去做的东西,抽象它(以任何方式适合)。

答案 1 :(得分:1)

我知道当代码中的一个更改可能导致测试失败时,就会完成单元测试。如果它正在测试太多东西,那么现在可能会很好,但是当我再次运行测试时,将来对我没有帮助。我想要一个失败的测试指出我导致失败的事情,而不是一整套可能性。

答案 2 :(得分:0)

我从不担心单元测试真的干净,简洁和简洁的代码。有时我有100个行函数,它们在单元测试中有大量的复制和粘贴,我不认为这是一个太大的问题,因为大多数单元测试都在设置一些虚拟数据,然后根据它测试正确的结果

然而,我会说我知道我有足够的单元测试,当我无法想到代码中的一件事可能是错误的。

修改 为了回应你的编辑:我不会在单元测试中寻找完美。