我正在开发 Silverlight 应用程序,但遇到了一个与单元测试相关的问题。这个单元测试的目的是测试本地化。
默认文化是英语,我想测试法国文化。我尝试设置文化和 UI 文化以及 DeploymentItem 属性。但没有成功。
这是我的测试
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class SampleTest
{
[TestMethod]
[DeploymentItem(@"Bin\fr", "fr")]
public void Test Method()
{
SetSpecificCurture(false);
string test = EngineAnomaliesViewStrings.Identifier;
Note: [EngineAnomaliesViewStrings is my resource file]
Assert.AreEqual("Some French Test", test);
}
private void setSpecificCurture(Boolean isUkLable)
{
CurrentUserLogged.Details.IsUKLanguage = isUkLable;
string culture = isUkLable ? "en" : "fr";
string dateFormat = isUkLable ? "MM/dd/yyyy" : "dd/MM/yyyy";
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(culture);
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = dateFormat;
Thread.CurrentThread.CurrentUICulture.DateTimeFormat.ShortDatePattern = dateFormat;
}
即使通过设置 FR 文化,始终获得英语价值观。
任何人都可以有一个想法来解决这个问题吗?
谢谢,马赫什。