我有一个同事为对象填充单元测试,这些对象用随机数据填充他们的字段.他的理由是它提供了更广泛的测试,因为它将测试许多不同的值,而普通测试仅使用单个静态值.
我给了他很多不同的理由,主要是:
- 随机值意味着测试不是真正可重复的(这也意味着如果测试可以随机失败,它可以在构建服务器上执行此操作并中断构建)
- 如果它是一个随机值并且测试失败,我们需要a)修复对象并且b)强迫我们每次都测试该值,所以我们知道它有效,但由于它是随机的,我们不知道它的值是什么
另一名同事补充道:
- 如果我正在测试异常,则随机值将无法确保测试最终处于预期状态
- 随机数据用于清除系统和负载测试,而不是用于单元测试
任何人都可以添加其他原因我可以让他让他停止这样做吗?
(或者,这是一种可接受的编写单元测试的方法,我和我的其他同事都错了?)