【发布时间】:2010-09-30 20:50:54
【问题描述】:
在单元测试设计中,很容易陷入实际上只是调用你的实现逻辑的陷阱。
例如,如果测试一个整数数组,该数组应该都比另一个高两个(2、4、6、8 等),那么从方法中获取返回值并断言该模式是否真的足够是这样吗?
我错过了什么吗?通过以多种方式测试相同的期望,似乎需要使单个单元测试方法更加健壮。所以上面的期望可以通过检查两个的增加来断言,而且下一个数字可以被 2 整除。或者这只是多余的逻辑?
简而言之,单元测试应该以多种方式测试一个期望吗?例如,如果我想测试我的裤子是否合身,我会/可以测量长度,将它放在我的腿旁边并查看比较等。这是单元测试所需的逻辑吗?
谢谢
【问题讨论】:
-
所以上面的期望可以通过检查 2 的增加来断言,而且下一个数字可以被 2 整除。或者这只是冗余逻辑? 那是冗余的。并且可能是错误的 - 如果规范说“再多两个”,那么 5 7 是正确的。但是 7 不能被 2 整除(均匀,yadda)
标签: unit-testing testing junit