我很难实现我想做的事情,并希望别人提出一些建议来帮助我解决我缺乏理解的问题。
我有一系列的单元测试 我正在测试的应用程序是munti-lingual,(英语和法语)。
我创建了2个字符串资源文件(StringConstants.resx和StringConstants.fr-CA.resx)
在我的每个单元测试中,我可以使用
验证属性和字符串值String message1 = StringConstants.ERROR_MESSAGE_INVALID_USERID;
Assert.IsTrue(Something.Contains(message1));
我希望能够做的是设置测试套件,一次用于英语(默认),一次用于法语。
目前我使用其中一行代码
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("fr-CA");
在MyTestInitialize
方法中控制语言,我希望能够传入本地执行,以便在命令行或构建服务器(TeamCity)上使用。
任何想法都表示赞赏。
答案 0 :(得分:1)
我假设您正在使用MSTest,但这应该适用于任何事情:在开始测试之前设置环境变量(例如在批处理文件中或者TeamCity参数就足够了)
Environment.GetEnvironmentVariable("TEST_CULTURE_INFO")