I want tests to use custom CultureInfo
.
I created my CultureInfo
and set this to TestExecutionContext.CurrentContext.CurrentCulture
property. But it doesn't work. Tests are still using default culture.
[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 );
}
How can I do it?
Update: It doesn't work only for async OneTimeSetUp
methods.
One can set up Thread.CurrentThread.CurrentCulture
only in not async
OneTimeSetUp
methods.