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 :

Tester la couleur des messages dans la console


Sujet :

C#

  1. #1
    Membre éprouvé Avatar de zhouyu
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut Tester la couleur des messages dans la console
    Bonjour.

    J'ai réaliser une classe qui écrit dans la console. En fonction des messages la couleur change et je ne sais pas comment faire ce genre de test.

    Pour mes tests unitaires j'utilise le framework natif de visual studio 2012.

    Mon idée de base était d'afficher la console, d'écrire un message, et de demander une validation par l'utilisateur que la couleur est la bonne.

    Cependant la console est intercepté par le framework qui bloque lorsque je fais Console.ReadKey() .

    Tout conseil sera le bienvenue

    Cordialement.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Par défaut
    Salut,

    Quelle est la fonctionnalité recherchée ? Que l'utilisateur soit averti ? ou qu'il valide le résultat de tes tests ?

    Car visual Studio le fait très bien est qui plus est, si tu as resharper

  3. #3
    Membre éprouvé Avatar de zhouyu
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Salut.

    J'aimerais que l'utilisateur valide le test. Je n'ai pas trouvé comment intéragir avec l'utilisateur.

    Je ne connais pas resharper, à quoi ça sert ?

    Voici le bout de code que j'aimerais faire, mais le Console.ReadKey() bloque le test unitaire.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    /// <summary>
    /// Ask a closed ended question in the console
    /// </summary>
    /// <param name="question">question to ask</param>
    /// <returns>true if y, false if no</returns>
    private bool AskClosedEndedQuestion(String question)
    {
    	bool isCorrectlyAnswered = false;
    	bool result = false;
    	while (!isCorrectlyAnswered)
    	{
    		Console.WriteLine(question);
    		ConsoleKeyInfo info = Console.ReadKey(false);
    		switch (info.Key)
    		{
    			case ConsoleKey.Y:
    				result = true;
    				isCorrectlyAnswered = true;
    				break;
    			case ConsoleKey.N:
    				isCorrectlyAnswered = true;
    				break;
    			default :
    				Console.WriteLine("The key pressed is incorrect.");
    				break;
    		}
    	}
     
    	return result;
    }

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Par défaut
    Ben si tu appelles ta methode a la fin de ton test, ca devrait etre bon..
    Ton code est correct et c'est normal que ReadKey bloque, car c'est justement la que tu demande une réponse.

    En tout cas si ce sont des tests unitaires ce n'est pas une bonne pratique d'interagir avec l'utilisateur.. Il faut utiliser des projets de tests dedié et valider les tests de manière automatique
    (avec la classe Assert) exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            [TestMethod]
            public void CheckListIsNotNull()
            {
                var maListe = new List<string>();
                Assert.IsNotNull(maListe);      
    }
    Resharper est un outil indispensable pour visual studio pour l'aide au developpement. Juste incontournable

  5. #5
    Membre éprouvé Avatar de zhouyu
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Ok merci pour ton aide. Je vais faire ce test en dehors des tests unitaires dans un projet console.
    Et je vais aussi jeter un oeil à ReSharper

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/06/2006, 12h11
  2. [TP7] Renvoyer des infos dans la console pour redirection
    Par Natopsi dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 05/11/2005, 18h21
  3. messages dans la console au cours de l'execution
    Par meli0207 dans le forum MFC
    Réponses: 10
    Dernier message: 13/06/2005, 14h15
  4. Couleur des lignes dans DBGrid
    Par eddie dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/06/2002, 18h15

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