39 votes

C# Comment forcer la Culture de Localisation à en-US pour le projet de tests

Comment spécifier la culture de localisation concrète pour le projet de tests en C# dans VS2008 ? Je construis une application Asp .Net MVC qui a une culture non standard spécifiée dans web.config mais comment définir la même culture pour les tests unitaires pour ce projet ?

60voto

Tony Kh Points 756

Vous pouvez définir

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 

dans la méthode qui est marquée comme "initialisateur de test" dans votre cadre de test unitaire.

17voto

Drew Noakes Points 69288

Si vous utilisez xUnit, vous pouvez ajouter le UseCultureAttribute votre projet, comme défini ici :

https://github.com/xunit/samples.xunit/blob/master/UseCulture/UseCultureAttribute.cs

Pour l'utiliser :

[Fact]
[UseCulture("en-US")]
public void MyTest()
{
    // ...
}

5voto

Pour nUnit 3, vous pouvez utiliser l'attribut [SetUICulture("en-us")]. Cela forcera la culture pour ce test unique.

3voto

Tausif Baber Points 209
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X