J'ai récemment construit un cadre de test pour un peu de C# sur lequel je travaille. J'ai configuré NUnit et un nouveau projet dans mon espace de travail pour tester le composant. Tout fonctionne bien si je charge mes tests unitaires à partir de Nunit (v2.4), mais je suis arrivé à un point où il serait vraiment utile d'exécuter en mode débogage et de définir des points d'arrêt.
J'ai essayé les suggestions de plusieurs guides qui suggèrent tous de modifier les propriétés 'Debug' du projet de test :
Start external program: C:\Program Files\NUnit 2.4.8\bin\nunit-console.exe
Command line arguments: /assembly: <full-path-to-solution>\TestDSP\bin\Debug\TestDSP.dll
J'utilise la version console, mais j'ai aussi essayé d'appeler l'interface graphique. Les deux me donnent la même erreur lorsque j'essaie de lancer le débogage :
Cannot start test project 'TestDSP' because the project does not contain any tests.
Est-ce parce que je charge normalement \DSP.nunit dans le Nunit GUI et c'est là que les tests sont tenus ?
Je commence à penser que le problème est peut-être que VS veut exécuter son propre cadre de test et c'est pourquoi il ne trouve pas les tests NUnit ?
Editar : Pour ceux qui s'interrogent sur les montages de test, l'un de mes fichiers .cs dans le projet TestDSP ressemble à peu près à ceci :
namespace Some.TestNamespace
{
// Testing framework includes
using NUnit.Framework;
[TestFixture]
public class FirFilterTest
{
[Test]
public void Test01_ConstructorTest()
{
...some tests...
}
}
}
...Je suis assez novice en C# et dans le cadre de test NUnit, il est donc tout à fait possible que j'aie manqué une information cruciale ;-)
Solution finale : Le gros problème était le projet que j'avais utilisé. Si vous choisissez Other Languages -> Visual C# -> Test -> Test Project
...lorsque vous choisissez le type de projet, Visual Studio essaiera d'utiliser son propre cadre de test, d'après ce que je sais. Vous devriez choisir un normal Le projet de bibliothèque de classe C# à la place et alors les instructions dans ma réponse sélectionnée fonctionneront.
0 votes
La classe de votre dispositif de test me semble correcte, il doit donc s'agir de quelque chose dans le projet comme vous l'avez suggéré.
2 votes
Regardez comme cette question : stackoverflow.com/questions/247900/ La réponse est la même...