J'ai récemment construit un framework de test pour un peu de C # sur lequel j'ai travaillé. J'ai installé NUnit et un nouveau projet dans mon espace de travail pour tester le composant. Tout fonctionne bien si je charge mes tests unitaires depuis Nunit (v2.4), mais j'en suis arrivé au 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 là-bas, mais j'ai également essayé d'appeler l'interface graphique. Les deux me donnent la même erreur lorsque j'essaye de démarrer 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 l'interface graphique Nunit et que c'est là que se déroulent les tests?
Je commence à penser que le problème peut être que VS veut exécuter son propre cadre de test et c'est pourquoi il ne parvient pas à trouver les tests NUnit?
Edit : Pour ceux qui posent des questions sur les appareils 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 nouveau sur C # et le framework de test NUnit, il est donc tout à fait possible que j'aie manqué des informations cruciales ;-)
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 pour autant que je sache. Vous devez choisir un projet de bibliothèque de classes C # normal à la place, puis les instructions de ma réponse sélectionnée fonctionneront.