回答
如果测试的目的很明显,我不打算记录它。
如果它不明显,因为它处理一些不明确的情况 - 或者如果我想参考一个特定的错误,例如 - 在那 case我会添加文档。虽然我没有记录异常抛出等 - 只是对方法的快速总结。这很少发生。我更可能为多个测试中使用的助手方法添加文档。
我在javadocing测试用例中找不到任何值。我只是将方法名称描述得足以知道测试的目的。
在Ruby中,我知道有些工具可以从测试名称创建文档,但是我没有在Java中看到过其中的一个。
无论javadoc与否,我认为单元测试一定要记录下来。在没有正式规范的情况下,单元测试最接近于定义代码的预期行为。通过记录测试用例,您将会向读者明确测试的内容以及测试的原因。
完全同意你的看法。我也一样。我将该方法命名为test [MethodUnderTest] _Should [ExpectedBehavior] _When [Scenario]。所以这就是文档本身。加上我应该包含在产品文档中的javadoc行为。 –
我认为javadoc测试通过的条件很有价值。
在考虑作为文档的测试时,“记录文档”没有多大意义。每个测试的名称本身应该已经描述了测试的目的是什么 - 该测试指定的行为是什么。
使用长的描述性名称进行测试,并尽可能保持测试代码的可读性。
例如看看测试案例in this project。通过查看测试的名称和测试代码,他们中的任何一个是否做了一些并不明显的事情?
只有在极少数情况下,当测试代码不清晰时,测试中需要注释。例如,如果您正在测试多线程代码,并且测试代码会执行奇怪的操作,以确保测试代码以正确的顺序运行。但即使在这些情况下,a comment is an apology也不会写出更清晰的测试代码。
地狱是啊。即使它只是...
创建订单,编辑订单,保存,加载&检查它。
如果它是一个非常简单的测试,那么也许不是。
我发现,随着代码的变化,有时测试的原因并不像以前那样明显。
也许你可能会找到一个对你的代码不完全熟悉的人,来告诉你一些关于你的测试是否易于理解的快速反馈。
在我工作的公司,我们尝试给我们的测试描述性名称和文档复杂性,但通常很难在第一稿中得到这个“正确”,因为对开发人员来说显而易见的事情并不总是很明显给他人。
测试被视为代码并作为同行评审过程的一部分提交,所以我们的(小)团队可以评论测试是否易于理解。
如果测试有点令人困惑,我们可以相应地更新名称或文档,我们会更好地评估什么是有效的,哪些没有。
建议代码注释是反模式是异端吗?我同意上述答案,理想情况下,您的代码足以描述性地依赖于没有评论的内容。如果您处于(企业)环境中,人们倾向于更新代码而不更新注释,则注释会变得具有误导性,这一点尤其如此。
- 1. JUnit测试是否应该重叠?
- 2. 如何测试junit测试
- 3. Maven.surefire.util.SurefireReflectionException当测试Junit测试
- 4. 类似的jUnit测试用例应该在同一个测试中吗?
- 5. JUnit测试 - 预期结果应该通过的测试有什么问题?
- 6. Hangman JUnit测试
- 7. spring junit测试
- 8. RxJava2 JUnit测试
- 9. 春JUnit测试
- 10. JUnit测试AspectJ
- 11. JUnit测试后
- 12. Java JUnit测试
- 13. FragmentActivity Junit测试
- 14. 的JUnit:测试
- 15. JUnit测试
- 16. 用jUnit测试
- 17. Junit REST测试?
- 18. 从jUnit测试
- 19. 我应该在哪里放置我的JUnit测试?
- 20. JUnit测试正在执行,当它不应该
- 21. 一般应该如何使用JUnit /测试用例?
- 22. JUnit:测试应该通过,如果它挂了一段时间
- 23. JUnit如何以BDD方式进行测试应该是
- 24. JUnit测试索引
- 25. JUnit集成测试
- 26. 用JUnit测试GUI
- 27. JUnit测试assertEqual NullPointerException
- 28. JUnit测试问题
- 29. 不是JUnit测试
- 30. JUNIT - 测试方法
我同意你的意见。我讨厌看到单元测试不清楚他们正在测试什么。代码随着时间而改变,原始原因可能不明显。 –
我宁愿在每个assertFoo语句中看到一个说明字符串。 –