JUnit测试应该是javadocced吗?
-
05-07-2019 - |
题
我有许多JUnit测试用例,目前没有用Javadoc注释记录。
我的其余代码都有记录,但我想知道是否值得努力记录这些测试。
解决方案
如果测试的目的很明显,我不打算记录它。
如果它不明显,因为它处理一些模糊的情况 - 或者如果我想引用特定的错误,例如 - 在 情况下我会添加文档。我不记录异常抛出等 - 只是方法的快速摘要。这相对很少发生。我更有可能为多个测试中使用的辅助方法添加文档。
其他提示
我在javadocing测试用例中没有找到任何价值。我只是让方法名称描述得足以了解测试的目的。
在Ruby中,我知道有些工具可以从测试名称创建文档,但我还没有在Java中看到过这些文档。
无论是否javadoc,我认为单元测试肯定应该记录在案。在不存在正式规范的情况下,单元测试最接近于定义代码的预期行为。通过记录测试用例,您将使读者清楚地了解测试测试的内容,以及测试测试的原因。
我不明白为什么你应该以与评论相关的生产代码不同的方式处理测试用例。
我认为javadoc测试通过的条件是有价值的。
建议代码注释是反模式是否是异端?我同意上述答案,理想情况下,您的代码将具有足够的描述性,可以依赖于没有评论。如果您处于(企业)环境中,人们倾向于在不更新注释的情况下更新代码,那么评论就会产生误导性,这一点尤其如此。
创建订单,编辑订单,保存,加载&检查一下。
如果它是一个非常简单的测试,那么也许不是。
我发现随着代码的变化,有时测试的原因并不像以前那样明显。
也许你可以找到一个不完全熟悉你的代码的人,给你一些关于你的测试是否易于理解的快速反馈。
在我工作的公司,我们尝试为我们的测试提供描述性名称和文档复杂性,但通常很难得到这个“正确”的信息。第一稿是因为开发人员显而易见的事情对其他人来说并不总是显而易见的。
测试被视为代码,并作为同行评审过程的一部分提交,因此我们(小)团队可以评论测试是否易于理解。
如果测试有点令人困惑,我们可以相应更新名称或文档,我们会更好地衡量哪些有效,哪些无效。