2009-10-04 7 views
0

Quelle est la syntaxe utilisée pour utiliser [TestDescriptionAttribute] [1] d'un test pour renseigner la colonne Description dans la fenêtre Résultats du test?VisualStudio.TestTools.WebTesting.TestDescriptionAttribute Syntaxe

Contexte: Visual Studio 2008 Team System

J'ai lu la documentation, mais ne suis pas en mesure de trouver un exemple concret.

base, sans serrer, sur la suggestion de Ngu, j'ai essayé:

using GlobalSim; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 
using Microsoft.VisualStudio.TestTools.WebTesting; 

namespace GlobalSimTests { 

    /// <summary> 
    ///This is a test class for PongerTest and is intended 
    ///to contain all PongerTest Unit Tests 
    ///</summary> 
    [TestClass()] 
    [TestDescriptionAttribute("hello")] 
    public class PongerTest { 

     private TestContext testContextInstance; 

     /// <summary> 
     ///Gets or sets the test context which provides 
     ///information about and functionality for the current test run. 
     ///</summary> 
     public TestContext TestContext { 
      get { 
       return testContextInstance; 
      } 
      set { 
       testContextInstance = value; 
      } 
     } 

     /// <summary> 
     ///A test for Ping 
     ///</summary> 
     [TestMethod()] 
     public void PingTest() { 
      Ponger target = new Ponger(); 
      string expected = "Pong"; 
      string actual; 
      actual = target.Ping(); 
      Assert.AreEqual(expected, actual); 
     } 

    } 
} 

Cette compile, mais ne présente pas la description du test dans la colonne Description de la fenêtre des résultats de test.

alt text

J'ai aussi essayé cette syntaxe:

/// <summary> 
    ///A test for Ping 
    ///</summary> 
    [TestMethod()] 
    [TestDescription("hello")] 
    public void PingTest() { 
     Ponger target = new Ponger(); 
     string expected = "Pong"; 
     string actual; 
     actual = target.Ping(); 
     Assert.AreEqual(expected, actual); 
    } 

Ce qui revient du compilateur:

L'attribut 'TestDescription' est pas valable sur ce type de déclaration. Il n'est valable que sur les déclarations 'class'.

Voici la syntaxe qui fonctionne. Merci a tous!

/// <summary> 
    ///A test for Ping 
    ///</summary> 
    [TestMethod()] 
    [Description("Hello")] 
    public void PingTest() { 
     Ponger target = new Ponger(); 
     string expected = "Pong"; 
     string actual; 
     actual = target.Ping(); 
     Assert.AreEqual(expected, actual); 
    } 

Répondre

1

Comme @Ngu a dit, le mettre sur le dessus d'un essai méthode

[TestMethod()] 
[Description("PingTest Check")] 
public void PingTest() { 
    Ponger target = new Ponger(); 
    string expected = "Pong"; 
    string actual; 
    actual = target.Ping(); 
    Assert.AreEqual(expected, actual); 
    } 

EDIT: TestDescriptionAttribute est de l'espace de noms WebTesting, qui ne devrait pas être appliquée pour les tests unitaires. Utilisez plutôt le DescriptionAttribute, qui fait partie de l'espace de noms UnitTesting.

Voir le code ci-dessus modifié & Je suis sûr que cela va fonctionner.

EDIT2: Pour trouver quelque chose comme ça, regardez les classes dans le même espace de noms. C'est ainsi que les classes sont arrangées, de sorte qu'on peut le trouver facilement.

+0

Cela ne compile pas. Erreur: Erreur GlobalSimTests \t L'attribut 'TestDescription' n'est pas valide pour ce type de déclaration. Il n'est valable que sur les déclarations 'class'. \t C: \ Utilisateurs \ Adam \ Projets \ GGS_Xna \ GlobalSimTests \ PongerTest.cs –

+0

Je suis désolé, j'aurais dû regarder en détail. Voir le code modifié et les commentaires ci-dessus. – shahkalpesh

+0

Note: [Description ("PingTest Check") devrait être: [Description ("PingTest Check")] –

-1
TestDescriptionAttribute(TestDescription="hi") 

Donc, pour ce test particulier, la description sera hi.

Mettez-le en haut d'une méthode et voyez si cela fonctionne.

+0

Pourriez-vous me donner un peu plus de contexte? Je n'ai pas utilisé cela auparavant, donc je ne sais pas où mettre le code. Merci! (Notez que j'ai mis à jour la question avec la tentative.) –