Je viens de découvrir que le nombre de tests que j'aurais dû obtenir était deux fois plus élevé. Découvert quand un test s'est cassé et j'ai eu deux échecs de test identiques. Même test, même chose. J'ai été assez confus, mais j'ai réussi à le réduire à une certaine classe de test qui était une classe partielle.NUnit, TestDriven.Net: Dupliquer les résultats de test avec des classes de test partielles
La raison pour laquelle c'était une classe partielle était que j'avais divisé une classe de test en deux, juste pour la rendre un peu plus propre. La classe testée avait une certaine méthode qui nécessitait une longue gamme de tests et je pensais que ce serait plus propre de les avoir dans un fichier séparé. Mais comme il y avait une ou deux méthodes d'aide, j'ai pensé que je pouvais juste rendre la classe partielle, donc les deux fichiers avaient toujours accès à ces méthodes.
La structure de test est NUnit et les tests ont été exécutés à l'aide de TestDriven.Net. Ran les tests à l'intérieur d'une seule méthode de test (a rapporté deux tests passés au lieu d'un), sur la classe (a obtenu deux fois le nombre de tests passés) et sur l'ensemble du projet de test.
Géré pour résoudre le problème en rendant les classes non partielles et en dupliquant simplement ces petites méthodes auxiliaires (peut les déplacer vers une classe auxiliaire séparée ou quelque chose plus tard).
Maintenant ... pourquoi diable est-ce que cela arrive? Je pensais que les cours partiels étaient compilés en une seule classe? Est-ce un problème avec des classes partielles en général, NUnit, Test-Driven.net ou quelque chose de complètement différent?
Ooooh. Cela pourrait avoir quelque chose à voir avec ça oui. Mais pourquoi l'attribut 'TestFixture' peut-il être ajouté deux fois à une classe? Cela n'a tout simplement aucun sens ... ou est-ce une raison pour que cela soit possible? – Svish
Vous devez le tester maintenant, et la suppression de l'attribut 'TestFixture' de l'une des classes partielles a résolu le problème :) – Svish