J'ai installé NUnit Test Adapter pour VS2012 + 2013. Quand j'ai d'abord installé l'adaptateur, les tests s'affichaient, mais ils ont cessé de s'afficher pour une raison quelconque aujourd'hui. Après avoir construit, reconstruit, nettoyé, redémarré, rien n'apparaît dans l'Explorateur de tests. Pourquoi cela se produit-il? J'utilise VS2013 Ultimate.
Réponses
Trop de publicités?Cette réponse semble assez basique mais n'était pas complètement évidente pour moi au départ. Si vous (re)construisez la solution, seuls les projets configurés pour être construits dans le Build -> Gestionnaire de configuration
sont construits.
C'était mon problème, j'ai dû changer involontairement les paramètres de configuration de construction ou quelque chose qui a causé la non-construction de mes projets de test (alors qu'ils l'étaient précédemment). Ainsi, la fenêtre Test Explorer
examinait des fichiers dll obsolètes. Il m'est apparu clairement que c'était le cas après avoir effectué un Nettoyage
et constaté la disparition de la plupart de mes tests et leur non-retour après une reconstruction
... une inspection plus approfondie du dossier bin
a montré que ces projets n'étaient pas du tout construits.
J'avais une configuration fonctionnelle (pour NUnit2 et NUnit3 en fonction de la solution, et plusieurs versions de Visual Studio entre 2012 et 2017), et un jour cela a soudainement cessé de fonctionner : aucun test détecté dans aucune solution ou version de VS.
Dans mon cas, il a été utile de supprimer %localappdata%\Temp\VisualStudioTestExplorerExtensions
. Après un redémarrage de VS, tout fonctionnait comme avant.
- Outils
- Gestionnaire de paquets NuGet
- Gérer les packages NuGet pour la solution
- Naviguer
- NUnitTestAdapter.WithFramework
- Ctrl+R, A pour compiler/exécuter les tests
L'utilisation de NUnitTestAdapter.WithFramework garantit qu'il y a peu ou pas d'incohérences entre les versions de NUnit et NUnit Adapter (c'est-à-dire "ça fonctionne simplement")
Vérifiez si vous avez déclaré [TestFixureSetUp] et [Test]
dans la classe de test
exemple:
namespace ClassLibrary1
{
public class SimpleCalculator
{
public Calculator _calculator;
[TestFixtureSetUp]
public void initialize()
{
_calculator = new Calculator();
}
[Test]
public void DivideTest()
{
int a = 10;
int b = 2;
int expectedValue = a/b;
int actualValue = _calculator.Divide(a, b);
Assert.AreEqual(expectedValue, actualValue, "Fonctionnalité ne fonctionne pas correctement!");
}
}
}