none
test unitaire débutant c# RRS feed

  • Question

  • Bonjour,

    comment modifier le test générer automatiquement par visual studio 2010:

    [TestMethod()]
    public void getEmployeeAvecPlusDunCompteTest()
    {
       IEnumerable<SalesForceUser> expected = null; // TODO: Initialize to an appropriate value
       IEnumerable<SalesForceUser> actual;
       actual = Program.getEmployeeAvecPlusDunCompte();
       Assert.AreEqual(expected, actual);
       Assert.Inconclusive("Verify the correctness of this test method.");
    }

    sachant que ma methode utilise des variables static de classe

    public static List<SalesForceUser> listSforce;
    
    public static IEnumerable<SalesForceUser> getEmployeeAvecPlusDunCompte()
    {
      var employeeAvecPlusDunCompt = from SalesForceUser userInchatter in listSforce
                                               from SalesForceUser userInchatter2 in listSforce
                                               where userInchatter.EmployeeNumber.Equals(userInchatter2.EmployeeNumber) && !(userInchatter.Username.Equals(userInchatter2.Username))
                                                     && !(userInchatter.EmployeeNumber.Equals("DONOTUPDATE") && (userInchatter.IsActive.Equals("true")))
                                               orderby userInchatter.EmployeeNumber
                                               select userInchatter;
      return employeeAvecPlusDunCompt;
    }

    Merci.

    jeudi 13 juin 2013 10:03

Réponses

  • Bonjour,

    dans mon cas user.Equals(userAvecDeuxProf)  compare toutes les variables des deux objets si elle sont égaux

    le problème était là:

    from SalesForceUser userInchatter in listSforce
    from SalesForceUser userInchatter2 in listSforce
    where userInchatter.EmployeeNumber.Equals(userInchatter2.EmployeeNumber) && !(userInchatter.Username.Equals(userInchatter2.Username))
                                                     && !(userInchatter.EmployeeNumber.Equals("DONOTUPDATE") && (userInchatter.IsActive.Equals("true")))
    orderby userInchatter.EmployeeNumber
    select userInchatter;


    c'est pas

    !(userInchatter.Username.Equals(userInchatter2.Username)

    mais plutôt :

    (userInchatter.Username.Equals(userInchatter2.Username)

    Merci.


    • Marqué comme réponse Aurel Bera mercredi 19 juin 2013 10:05
    mardi 18 juin 2013 08:35

Toutes les réponses

  • Bonjour

    N'est pas très claire sur ce que vous voulez faire.
    Je devine maintenant que en place de Assert.AreEqual(expected, actual); - qui est utilisée pour comparer deux valeurs, vous avez besoin d'utiliser Assert.IsNotNull - donc élever une exception si vous avez deux comptes pour le même utilisateur ? 

    http://msdn.microsoft.com/en-us/library/ms245297(v=vs.80).aspx

    Cordialement


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    lundi 17 juin 2013 13:45
  • Bonjour,

    Merci pour la réponse :-)

    j'ai modifié mon code depuis et j'ai un problème avec "IEnumerable<SalesForceUser>"

    méthode a tester :

    public static IEnumerable<SalesForceUser> getEmployeeAvecPlusDunCompte(List<SalesForceUser> listSforce)
    {
      //listSforce = Program.getChatterList();
      var employeeAvecPlusDunCompt = from SalesForceUser userInchatter in listSforce
                                               from SalesForceUser userInchatter2 in listSforce
                                               where userInchatter.EmployeeNumber.Equals(userInchatter2.EmployeeNumber) && !(userInchatter.Username.Equals(userInchatter2.Username))
                                                     && !(userInchatter.EmployeeNumber.Equals("DONOTUPDATE") && (userInchatter.IsActive.Equals("true")))
                                               orderby userInchatter.EmployeeNumber
                                               select userInchatter;
     return employeeAvecPlusDunCompt;
    }

    méthode de teste:

    [TestMethod()]
    public void getEmployeeAvecPlusDunCompteTest()
    {
      List<SalesForceUser> listSforce = null; // TODO: Initialize to an appropriate value
                SalesForceUser userAvecDeuxProf = new SalesForceUser() { Username = "xxxxxxxxx", ProfileId = "xxxxxxxxxxx", IsActive = false, EmployeeNumber = "xxxxxxxxxxx", Division = "xxxxxxxxx", Department = "xxxxxxxxxxxx" };
    listSforce= new List<SalesForceUser>{
                        new SalesForceUser(){ Username="xxxxxxxxxxxxxxx", ProfileId="xxxxxxxxxxx", IsActive=false, EmployeeNumber="xxxxxxxxxxx", Division="xxxxxxxxxxx", Department="xxxxxxxxxxx"},                        
                        new SalesForceUser(){ Username="xxxxxxxxxxx", ProfileId="xxxxxxxxxxx", IsActive=false, EmployeeNumber="xxxxxxxxxxx", Division="", Department="xxxxxxxxxxx"},
                        new SalesForceUser(){ Username="xxxxxxxxxxx", ProfileId="xxxxxxxxxxx", IsActive=true, EmployeeNumber="xxxxxxxxxxx", Division="xxxxxxxxxxx", Department="xxxxxxxxxxx"},
                        new SalesForceUser(){ Username="xxxxxxxxxxx", ProfileId="xxxxxxxxxxx", IsActive=true, EmployeeNumber="xxxxxxxxxxx", Division="xxxxxxxxxxx", Department="xxxxxxxxxxx"},
                        //new SalesForceUser(){ Username="", ProfileId="", IsActive=true, EmployeeNumber="", Division="", Department=""},
                        userAvecDeuxProf
                                                    };
                IEnumerable<SalesForceUser> expected = null; // TODO: Initialize to an appropriate value
                IEnumerable<SalesForceUser> actual;
                actual = QueryLinq.getEmployeeAvecPlusDunCompte(listSforce);
                bool s = false;
                foreach(SalesForceUser user in actual){
    
                    if (user.Equals(userAvecDeuxProf)) s= true;
                }
                Assert.IsTrue(s);
                Assert.Inconclusive("Verify the correctness of this test method.");
            }

    pour des questions de sécurité j'ai mis les valeurs a "xxxxxxxxxxx" mais en vrais j'ai bien un utilisateur avec deux profils 

    et j'ai l'Erreur "Assert.IsTrue failed".

    Cordialement.

    lundi 17 juin 2013 14:57
  • Bonjour,

    dans mon cas user.Equals(userAvecDeuxProf)  compare toutes les variables des deux objets si elle sont égaux

    le problème était là:

    from SalesForceUser userInchatter in listSforce
    from SalesForceUser userInchatter2 in listSforce
    where userInchatter.EmployeeNumber.Equals(userInchatter2.EmployeeNumber) && !(userInchatter.Username.Equals(userInchatter2.Username))
                                                     && !(userInchatter.EmployeeNumber.Equals("DONOTUPDATE") && (userInchatter.IsActive.Equals("true")))
    orderby userInchatter.EmployeeNumber
    select userInchatter;


    c'est pas

    !(userInchatter.Username.Equals(userInchatter2.Username)

    mais plutôt :

    (userInchatter.Username.Equals(userInchatter2.Username)

    Merci.


    • Marqué comme réponse Aurel Bera mercredi 19 juin 2013 10:05
    mardi 18 juin 2013 08:35