我喜欢让我的单元测试非常简单易懂.我经常对测试的预期结果进行硬编码,以避免重复我正在测试的代码.另外,我经常使用数据驱动的测试.例如,如果我正在测试日期/时间的格式,我有时会硬编码预期的字符串,即."1/1/2000"或"1:00 PM".但是,由于日期和时间格式是特定于文化的,我们的应用程序是可本地化的,因此实际输出可能会有所不同.但是,我的团队总部设在美国,所以这通常不是问题.我们的持续集成和构建服务器也与美国文化信息一起运行.
有一个团队成员抱怨,因为他已经改变了他的开发机器上的日期格式,以手动测试其他日期格式,因此许多测试失败了.在单元测试中测试输出时,我应该使用当前的文化信息,还是可以接受这种硬编码?
更新:我最终为某些测试设置了特定的语言环境.
无论运行环境如何,单元测试都应该是100%可重复的.单元测试开始失败的唯一原因是代码改变并破坏了测试.
所以,是的,您需要采取措施确保您的测试继续通过,而不管外部因素如何.
| 归档时间: |
|
| 查看次数: |
776 次 |
| 最近记录: |