操作系统语言环境为“de-DE”时,NUnit测试运行器使用文化“en-US”

时间:2013-09-25 15:29:46

标签: msbuild nunit windows-server-2008 bamboo

我正在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”运行所有内容。

1 个答案:

答案 0 :(得分:1)

NUnit具有<{p}}属性

  

标记一个类,其中包含给定命名空间下所有测试装置的一次性设置或拆卸方法。该类最多可以包含一个用SetUpAttribute标记的方法和一个用TearDownAttribute标记的方法。

我认为这是在运行测试之前设置SetUpFixtureThread.CurrentThread.CurrentUICulture的最全球设置机会。这可能是一个可以帮助你的短期事情。

但是,由于您似乎已经进行了大量的单元测试,因此不应该在代码库中进行Thread.CurrentThread.CurrentCulture更改时感到烦恼......