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 :

Simuler les classes utilisées dans une méthode


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services de proximité

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Simuler les classes utilisées dans une méthode
    Bonjour à tous.

    Je débute complètement dans tout ce qui concerne les tests en .NET. Et malgré mes recherches sur Nutget, plus exactement NSubstitute, je n'ai pas trouvé ce que je cherchais.

    Je voudrai tester plusieurs méthodes qui utilisent elles-même des méthodes de classes que je ne peux pas utiliser dans un contexte de test unitaire. Je voudrai connaitre les Best Practice pour vérifier que ces méthodes fonctionnent sans les "connecter".

    Par exemple ici, voiçi une classe servant à écrire dans le journal d'évènement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class LogManager
        {
            public static void WriteLog(string message, EventLogEntryType entryType = EventLogEntryType.Information)
            {
                string source = ConfigurationManager.AppSettings["LogSource"];
                string logName = ConfigurationManager.AppSettings["LogName"];
     
                if (!EventLog.SourceExists(source))
                    EventLog.CreateEventSource(source, logName);
                EventLog eventLog = new EventLog(logName);
                eventLog.Source = source;
     
                eventLog.WriteEntry(message, entryType);
            }
        }
    Comment faire pour tester la méthode WriteLog sans avoir à toucher l'App.config ni permettre à celle-ci d'écrire dans le journal d'évènement (avec par exemple un event qui bloque le WriteEntry et permet d'Assert que la méthode a bien tenté de l'utiliser).

    Merci d'avance.

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    Avec de l'injection de dépendance et des intercepteurs.

    Tu dois faire des tests d'intégration en remplaçant les dépendances qui posent problème par des stubs.

    http://www.typemock.com/unit-tests-integration-tests

  3. #3
    Membre éclairé

    Homme Profil pro
    Architecture logiciel
    Inscrit en
    Janvier 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 103
    Points : 713
    Points
    713
    Par défaut
    En .Net tu peux utiliser RhinoMock : http://www.hibernatingrhinos.com/oss/rhino-mocks

    Si tu utilises Visual Studio 2012, regarde du côté des shims : http://msdn.microsoft.com/en-us/library/hh549176.aspx

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    Citation Envoyé par Sirus64 Voir le message
    En .Net tu peux utiliser RhinoMock : http://www.hibernatingrhinos.com/oss/rhino-mocks

    Si tu utilises Visual Studio 2012, regarde du côté des shims : http://msdn.microsoft.com/en-us/library/hh549176.aspx
    que je ne peux pas utiliser dans un contexte de test unitaire.
    La façon dont j'ai compris sa question, c'est qu'il ne veut pas faire des tests unitaires, donc ne pas utiliser du mocking...

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services de proximité

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Dans ce cas c'est moi qui s'est mal exprimé, les réponses qui m'ont été apportées sont précieuses : )
    Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/09/2013, 10h02
  2. Réponses: 4
    Dernier message: 08/01/2010, 13h59
  3. Réponses: 3
    Dernier message: 20/04/2009, 09h13
  4. [Sécurité] Sécurité portable pour les données utilisées dans une requête
    Par berceker united dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/07/2006, 14h48
  5. Réponses: 4
    Dernier message: 07/07/2006, 15h44

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