224 votes

Pourquoi visual studio 2012 pas trouver mes tests?

J'ai des tests d'utiliser le construit en Microsoft.VisualStudio.TestTools.UnitTesting, mais ne peut pas les amener à exécuter.

Je suis à l'aide de visual studio 2012 ultimate.

J'ai une solution de deux projets, l'Un a des tests, using Microsoft.VisualStudio.TestTools.UnitTesting, [TestClass] avant la classe, [TestMethod] avant les méthodes d'essai et de référence Microsoft.VisualStudio.QualityTools.UnitTestFramework (version 10.0.0.0, la durée d'exécution de la version v2.0.50727). J'ai essayé de dot net framework 3.5, 4 et 4.5 autres donnent un re-ciblage d'erreur.

J'ai essayé de construire du projet et de solution. L'explorateur de tests a le message " Construire votre solution pour découvrir tous les tests disponibles. Cliquez sur "exécuter tous" pour construire, à découvrir et à exécuter tous les tests dans votre solution.

La question est donc: Comment puis-je obtenir visual studio pour trouver les tests?


Ont également tenté de suivre ce: http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx mais sans succès: je suis coincé dans la section prise en main, quand on lui demande de faire un clic droit et sélectionnez create tests. Il n'y a pas d' create tests.


J'ai ce test(il compile, mais ne s'affiche pas dans l'explorateur de tests):

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}

J'ai maintenant découvert (voir supprimé réponse ci-dessous) que c'est parce qu'il est sur un lecteur partagé, mais je n'ai pas encore savoir comment l'obtenir autour d'elle. (quelque chose à propos de la configuration de la sécurité peut-être).

228voto

Ourjamie Points 936

J'ai eu quelques symptômes, mais dans des circonstances différentes.

J'ai dû ajouter une étape supplémentaire à Pierre Lamberg la solution de Nettoyer votre solution ou d'un projet.

Mon unittest les objectifs du projet x64. Quand j'ai créé le projet, il a été à l'origine de ciblage x86.

Après le passage en x64 tous mes tests unitaires disparu.

J'ai dû aller dans le Menu -> Paramètre de Test par Défaut de l'Architecture de Processeur -> x64.

Ils n'avaient toujours pas.

A une génération.

Encore ne s'est pas présenté.

Enfin fait un Nettoyage

Puis ils ont.

- Je trouver de Solution Propre et Propre à être très utiles à l'obtention de solutions pour jouer à la balle lors de la configuration a changé. Parfois, je dois aller à la exstream et supprimer l'obj et de la corbeille de répertoires et de faire une reconstruction.

162voto

Joe King Points 924

S'il vous plaît ajouter le mot-clé public à la définition de votre classe. Votre classe de test est actuellement pas visible à l'extérieur de sa propre assemblée.

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}

58voto

Peter Lamberg Points 1091

Parfois, cela fonctionne.

Vérifiez que le processeur de l'architecture sous menu Test matchs celui que vous utilisez pour construire la solution.

Test -> Paramètres de Test -> par Défaut de l'Architecture du Processeur -> x86 / x64

Comme indiqué dans d'autres posts, assurez-vous d'avoir le Test de la fenêtre de l'Explorateur ouvert. Test -> Windows -> Explorateur De Tests

Puis la reconstruction du projet avec les essais doivent faire les tests s'affichent dans l'Explorateur de tests.

Edit: Comme Ourjamie souligné ci-dessous, faire une nouvelle version peut aussi vous aider. En plus de cela, voici encore une chose que j'ai rencontré:

La "construction" de la case est décoché dans Configuration Manager pour un nouveau projet de test que j'avais créé en vertu de la solution.

Allez Construire -> Gestionnaire de Configuration. Assurez-vous que votre projet de test a construire case cochée pour toutes les configurations de solution et la solution de plates-formes.

32voto

dnnyz Points 126

J'ai Visual Studio 2012 et je ne pouvais pas voir les Tests dans l'Explorateur de tests,

J'ai donc installé le suivant: Adaptateur De Test NUnit

Qui a résolu le problème pour moi !

18voto

Killercam Points 9388

Dans ma récente expérience de tous les ci-dessus ne fonctionne pas. Ma méthode d'essai

public async void ListCaseReplace() { ... }

a ne pas se présenter, mais la compilation d'amende. Quand j'ai enlevé l' async mot-clé le test l'a montré dans l'Explorateur de tests. C'est parce que async void est un "fire-and-forget". Faire de la méthode async Task et vous obtiendrez votre test de retour!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X