如何设置CultureInfo进行单元测试?

时间:2015-10-07 21:08:24

标签: c# unit-testing windows-runtime

似乎人们没有得到整个标签的概念。在将此标记为重复之前,请了解 WinRT / Windows运行时中不存在Thread.CurrentThread.CurrentCulture

想要使用非默认文化测试以下代码:

public string Now =>
    DateTime.Now.ToString("g", new CultureInfo(CultureInfo.CurrentUICulture.Name));

到目前为止,

[UITestMethod]
public void UI_NowIsLocalizable()
{
    // Arrange
    Clock clock = new Clock();
    Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "de-DE";
    string expected = DateTime.Now.ToString("g");

    // Act
    string actual = clock.Now;

    // Assert
    Assert.AreEqual(expected, actual);
}

在调试测试时,CultureInfo.CurrentUICulture.Name仍显示us-en和测试通过(应该失败)。

0 个答案:

没有答案