我有以下方法:
[TestMethod]
public void Message_TestToEnglishString()
{
// Set the thread to French to get the French resource
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr");
string frenchMessageBase = MessagesResources.USER_LOGGED_IN;
Assert.AreNotEqual("{0} logged in.", frenchMessageBase);
}
这与Visual Studio中的预期完全相同。从命令行的相同代码运行的相同测试失败,因为该值是从英语资源文件"{0} logged in."
中提取的。
有关为何发生这种情况的任何见解,以及如何解决这个问题?
如果我设置资源文件Culture,即MessagesResources.Culture
,那么此特定测试将通过,但稍后会在该资源文件上直接调用其他测试。
答案 0 :(得分:1)
尝试设置Threading.Thread.CurrentThread.CurrentCulture
答案 1 :(得分:1)
是否可以从应用程序的命令行版本访问资源的方式与从Visual Studio访问它们的方式相同?