如何在 NUnit 中使用自定义 CultureInfo?

How to use custom CultureInfo in NUnit?

我希望测试使用自定义 CultureInfo

我创建了 CultureInfo 并将其设置为 TestExecutionContext.CurrentContext.CurrentCulture 属性。但它不起作用。测试仍在使用默认文化。

[OneTimeSetUp]
public async Task OneTimeSetUp() {
    var culture = new CultureInfo( CultureInfo.InvariantCulture.Name );
    culture.DateTimeFormat.LongTimePattern = "HH:mm:ss:fff";
    TestExecutionContext.CurrentContext.CurrentCulture = culture;

    await Task.Delay( 1 );
}

[Test]
public void Test() {
    TestContext.WriteLine( TestExecutionContext.CurrentContext.CurrentCulture.EnglishName ); // Russian (Ukraine)
    TestContext.WriteLine( CultureInfo.CurrentCulture.EnglishName ); // Russian (Ukraine)
    TestContext.WriteLine( Thread.CurrentThread.CurrentCulture.EnglishName );
}

我该怎么做?

更新: 它不仅仅适用于异步 OneTimeSetUp 方法。

只能在 async OneTimeSetUp 方法中设置 Thread.CurrentThread.CurrentCulture