2010-06-10 18 views
23

Dans Visual Studio 2010 Pro, comment convertir facilement un assemblage classique en un assemblage de test unitaire ms?Comment convertir un assemblage existant en un ensemble de test unitaire ms?

Y a-t-il un drapeau à activer dans le fichier .csproj?

+0

est là Y a-t-il une chance que vous acceptiez la réponse * correcte * à cette question? –

+0

@RobertHarvey lequel classeriez-vous comme correct? La réponse actuellement marquée comme acceptée (par Dror Helper) semble fonctionner pour moi. –

Répondre

45

Le problème est que les projets de test sont « marqués » sur le fichier de projet - vous pouvez convertir une bibliothèque de classes à projet d'essai suivre ces quatre étapes simples:

  1. Décharger le projet (.prj) fichier, puis ouvrez-le pour la mise à jour.
  2. ajoutez la ligne suivante au projet
    C#:

    <Project> 
    <PropertyGroup> 
        <AssemblyName>....</AssemblyName> 
        <!-- add this line below --> 
        <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 
    </PropertyGroup> 
    </Project> 
    

    VB - <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{F184B08F-C81C-45F6-A57F- 5ABD9991F28F}</ProjectTypeGuids>

  3. Re-charger le projet de retour
  4. Run vous (qui travaille actuellement) teste

Notez que vous devrez ajouter manuellement une référence à Microsoft.VisualStudio.Qua lityTools.UnitTestFramework.dll afin de pouvoir utiliser des attributs liés à l'essai

Mise à jour: Dans le prochain MSTest V2 ce ne sera pas nesessery comme MSTest devient un paquet NuGet qui fonctionne comme NUnit/XUnit

+1

Ah, l'interface intuitive propre de VS2010, quelle merveilleuse solution! – John

+2

Fonctionne également très bien dans VS2013! – JimmyBoh

+0

Pour la reconvertir en une bibliothèque C#, supprimez simplement cette ligne complètement. – womp

-3

Unit Test Project est uniquement une bibliothèque de classes qui possède des classes avec l'attribut [TestClass], et le fichier .csproj ne possède aucun indicateur. Vous pouvez ajouter une classe à votre projet et définir l'attribut [TestClass] et ce sera la classe de test.

+0

Ok, mais je veux démarrer le test unitaire dans Visual Studio 2010. Même si j'ajoute une référence à Microsoft.VisualStudio.QualityTools.UnitTestFramework et que dans ma classe j'utilise l'attribut [TestClass] et [TestMethod], je ne peux pas voir mon méthodes dans la fenêtre Test View de VS2010. –

+0

Vous devrez peut-être générer le code avant que les méthodes n'apparaissent dans la fenêtre. Le simple fait d'ajouter les attributs au code, et non de construire, ne met pas à jour la fenêtre de vue de test (je pense!). –

+0

J'ai tout reconstruit, mais ça ne marche pas. –