IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

test unitaire débutant c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 32
    Par défaut test unitaire débutant c#
    Bonjour,

    comment modifier le test générer automatiquement par visual studio 2010:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    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.

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Il faut savoir que le static, c'est l'ennemi des tests unitaires.

    Y a t il une réelle nécessité à rendre cette méthode statique ?
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 32
    Par défaut
    Citation Envoyé par MaximePalmisano Voir le message
    Il faut savoir que le static, c'est l'ennemi des tests unitaires.

    Y a t il une réelle nécessité à rendre cette méthode statique ?
    je reprends un code de plus de 8000 lignes et je crois pas que je vais le changer juste pour les testes

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Par défaut
    Citation Envoyé par KhaledZero Voir le message
    je reprends un code de plus de 8000 lignes et je crois pas que je vais le changer juste pour les testes
    Bah justement, du code qui ne se teste pas, c'est du code qui ne devrait jamais être déployé, encore moins vendu.

    Dans mon équipe, c'est une offense qui a déjà mené à des licenciements, avec raison.

    Donc soit que tu mettes le code aux standards du 3ième millénaire ou bien tu acceptes de livrer du code médiocre.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 32
    Par défaut
    pourquoi les "static" c'est des ennemis des testes unitaire ?

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    je reprends un code de plus de 8000 lignes et je crois pas que je vais le changer juste pour les testes
    <ironique>En effet, ça serait dommage d'avoir du code fiable et testable.</ironique>

    pourquoi les "static" c'est des ennemis des testes unitaire ?
    Parce que c'est relatif à la classe, et non à l'instance, et que cela implique un état persistant tout le long du programme.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Par défaut
    Citation Envoyé par KhaledZero Voir le message
    pourquoi les "static" c'est des ennemis des testes unitaire ?
    Quand on définit une entité comme statique, on délègue le cycle de vie de cette entité au framework. C'est une facilité d'intégration puisque vous n'avez pas à créer une instance, c'est la machine virtuelle qui s'en occupe.

    Par contre, vous n'avez plus de 'handle' (de prise) sur l'instance.

    Le propre des tests unitaires est d'isoler chaque entité de ses dépendances en utilisant, par exemple, des stubs ou des mocks (Moq, Rhinomock, etc.).

    Or n'ayant aucune prise sur le cycle de vie d'une entité empêche justement de la manipuler en ce sens.

    Le gain apparent à l'origine de l'utilisation d'entités statiques devient un cauchemar pour un projet moindrement d'envergure puisque l'équipe est condamnée à tester à l'aide de tests d'intégration, beaucoup plus demandants que des tests unitaires.

Discussions similaires

  1. [Seam] débutant en test unitaire avec Seam
    Par jdvacheron dans le forum Seam
    Réponses: 2
    Dernier message: 16/09/2010, 09h12
  2. Tests Unitaires - Production de documents
    Par giviz dans le forum Test
    Réponses: 13
    Dernier message: 07/02/2005, 08h41
  3. Tests unitaires en C#
    Par Bouboubou dans le forum Test
    Réponses: 2
    Dernier message: 01/10/2004, 13h03
  4. [TESTS] Tests unitaires
    Par mathieu dans le forum Test
    Réponses: 4
    Dernier message: 08/01/2004, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo