Я столкнулся со странной проблемой.В моем модульном тесте я хочу проверить локализованные строки.Тем не менее, я не могу заставить его работать.Например, я создал два ресурса: Resource1.resx для английского и Resource1.zh-CN.resx для китайского.Проект модульного теста может получить только (по умолчанию?) Английскую строку ресурсов.Вот код, который я использую:
ResourceManager actual = new ResourceManager(typeof(LocaleTest.Properties.Resource1));
string name0 = actual.GetString("Name", new CultureInfo("en-US"));
string name1 = actual.GetString("Name", new CultureInfo("zh-CN"));
Я создал другой обычный проект (не проект MSTest), чтобы убедиться, что локализованные строки работают.Итак, он работает в обычном проекте, но не в проекте MSTest.
Это не помогло, даже если бы я добавил следующий код, чтобы сделать 'zh-CN' в качестве текущей культуры модульного теста:
[TestInitialize()]
public void MyTestInitialize()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");
}
Кто-нибудь видел подобные проблемы?Есть ли обходной путь?