你应该对常量进行测试吗?
Should you make tests for constants?
我想知道在我的测试套件中提供一个常量等于 x 的测试是否有任何价值。
我看到这样做的几个好处:
你知道这个值什么时候改变了,因为改变它的开发者会得到一个失败测试
如果更新常量的开发人员用新值更新测试,测试将确认它已正确更新
这是有益的还是只是麻烦?
恕我直言,这没有任何好处。
- 如果开发人员因为常量而看到失败的测试,那么他将简单地更新测试中的相同值。所以这不是好处,是重复
- 您应该对使用常量的代码进行测试。如果不是单元测试,那么集成测试(例如邮件服务器的地址)如果常量有问题,这些测试应该失败
我能想象的对常量的唯一测试是当你的常量是某个复杂的对象时,那么也许你可以测试它的属性之间是否满足所有必需的约束。但如果它只是,比方说,一个数字或字符串,那么恕我直言,这只是浪费时间,因为测试维护成本很高,而且它绝对不会给你额外的安全性
我想知道在我的测试套件中提供一个常量等于 x 的测试是否有任何价值。
我看到这样做的几个好处:
你知道这个值什么时候改变了,因为改变它的开发者会得到一个失败测试
如果更新常量的开发人员用新值更新测试,测试将确认它已正确更新
这是有益的还是只是麻烦?
恕我直言,这没有任何好处。
- 如果开发人员因为常量而看到失败的测试,那么他将简单地更新测试中的相同值。所以这不是好处,是重复
- 您应该对使用常量的代码进行测试。如果不是单元测试,那么集成测试(例如邮件服务器的地址)如果常量有问题,这些测试应该失败
我能想象的对常量的唯一测试是当你的常量是某个复杂的对象时,那么也许你可以测试它的属性之间是否满足所有必需的约束。但如果它只是,比方说,一个数字或字符串,那么恕我直言,这只是浪费时间,因为测试维护成本很高,而且它绝对不会给你额外的安全性