使用JUnit进行单元测试时遇到了问题,我想知道是否有标准解决方案。
我开始使用Podam生成随机测试数据,但同事正确地指出这可能导致意外的单元测试失败。一方面,这显然很糟糕,可能会使调试成为一个真正的痛苦。另一方面,它可以通过突出代码问题来完成它的工作。
我确定了我认为解决问题的3种方法。我错过了任何选择吗?这些都被认为是标准做法吗?
此外,我认为每种方法都有以下优点和缺点。我错过了任何重要的设计考虑因素吗?
优点:
缺点:
答案 0 :(得分:0)
我认为良好的单元测试需要完成其工作并专注于强大的测试。
我更喜欢选项1.使用随机数据可能会导致意外的单元测试失败,但在一天结束时这是一件好事,因为您涵盖了每个技术上可能的场景,包括开发人员不会想到的场景。 / p>
选项1可能会使自己调试更多工作,但如果测试的方法很简单,那么这不太可能是一个重要的开销。如果测试的方法非常复杂,那么无论如何都可能很难调试,可能需要分解。
选项2和3引入了人为错误。最大限度地减少人为错误是任何计划的关键目标。 3也是冗长且不可维护的。这些问题最终可能会花费更多的时间和精力,而不是专门用于额外的调试。
我的猜测是,从长远来看,#1将耗费更少的时间和精力。这只是猜测,而不是主要关注点。主要关注的是#1是确保执行稳健测试的正确方法。