2 votes

Test unitaire Silverlight - Localisation

Je travaille sur une application Silverlight et je suis bloqué par un problème lié au test unitaire. Le but de ce test unitaire est de tester la localisation.

La culture par défaut est l'anglais et je veux tester la culture française. J'ai essayé de définir la culture et la culture de l'interface utilisateur et l'attribut DeploymentItem. Mais sans succès.

Voici mon test

using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class SampleTest
{

   [TestMethod]
   [DeploymentItem(@"Bin\fr", "fr")]
   public void Test Method()
   {
            SetSpecificCurture(false);
            string test = EngineAnomaliesViewStrings.Identifier;
            Note: [EngineAnomaliesViewStrings is my resource file]  

            Assert.AreEqual("Some French Test", test);   
   }

   private void setSpecificCurture(Boolean isUkLable)
        {
            CurrentUserLogged.Details.IsUKLanguage = isUkLable;

            string culture = isUkLable ? "en" : "fr";
            string dateFormat = isUkLable ? "MM/dd/yyyy" : "dd/MM/yyyy";
            Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture);
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(culture);
            Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = dateFormat;
            Thread.CurrentThread.CurrentUICulture.DateTimeFormat.ShortDatePattern = dateFormat;

        }

Même en mettant en place la culture FR, en obtenant toujours des valeurs anglaises.

Quelqu'un a-t-il une idée pour résoudre ce problème ?

Merci, Mahesh.

0voto

daxsorbito Points 1395

Mahesh,

Juste pour que les autres sachent comment nous avons résolu ce problème. Comme nous l'avons découvert, la solution consiste à ajouter un AssemblyPart à l'intérieur du nœud Deployment.Parts dans le fichier AppMenifest.xml du projet Silverlight UnitTest. (Le fichier de ressources fr n'est pas inclus par défaut dans le fichier xap du projet UnitTest).

<AssemblyPart Source="fr/MyProject.resources.dll" />

Gracias.

Dax

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