我正在Windows Server 2008上运行的新Bamboo实例(5.1.0.3901)上设置构建。
NUnit测试运行器通过MSBuild启动以运行测试。我的一些测试在我的机器和另一台服务器上正常工作现在失败了。显然,所有这些测试都取决于文化设置。据我所知,所有这些都可以通过DateTime.Parse(string)
解析日期字符串,或者将语言相关的错误消息与德语中的硬编码预期消息进行比较。
我已记录Thread.CurrentThread.CurrentUICulture
(“en-US”)和Thread.CurrentThread.CurrentCulture
(“de-DE”)。
操作系统区域设置设置为“de-DE”。
如何在不更改这些测试的情况下通过这些测试?因为它们太多了,我更愿意配置NUnit(或MSBuild或Bamboo)使用“de-DE”运行所有内容。
答案 0 :(得分:1)
NUnit具有<{p}}属性
标记一个类,其中包含给定命名空间下所有测试装置的一次性设置或拆卸方法。该类最多可以包含一个用SetUpAttribute标记的方法和一个用TearDownAttribute标记的方法。
我认为这是在运行测试之前设置SetUpFixture
和Thread.CurrentThread.CurrentUICulture
的最全球设置机会。这可能是一个可以帮助你的短期事情。
但是,由于您似乎已经进行了大量的单元测试,因此不应该在代码库中进行Thread.CurrentThread.CurrentCulture
更改时感到烦恼......