J'ai un projet réalisé récemment par un membre de l'équipe. J'ai ajouté quelques classes et je voulais les tester ensemble. J'ai ajouté le projet à notre solution de test unitaire, mais je ne peux pas cliquer sur une fonction avec le bouton droit de la souris et sélectionner "Create Unit Test". J'ai trouvé une solution pour taper manuellement EditorContextMenus.CodeWindow.CreateUnitTests
dans la fenêtre de commande, mais ensuite j'obtiens une erreur "La génération de test est uniquement prise en charge sur les projets non test."Comment Visual Studio 2010 détermine-t-il quels projets sont des projets de test?
J'ai cherché "test" à travers le projet entier et est venu seulement avec PopulateStructure
donc il n'y a pas de fonctions avec les attributs de test. J'ai supprimé une référence erronnée à Microsoft.VisualStudio.QualityTools.UnitTestFramework
qui, selon le membre de l'équipe, avait été automatiquement insérée par Visual Studio. La référence n'est pas revenue quand j'ai compilé, mais je ne pouvais toujours pas générer automatiquement des tests.
j'ai cherché [
et l'attribut uniquement à l'extérieur AssemblyInfo.cs
est l'un des nôtres:
[AttributeUsage(AttributeTargets.All)]
public class OurAttribute_C : System.Attribute
{
...
J'ai fait un diff entre ce fichier de projet et un autre fichier de projet que je teste, et vu rien d'évident. Pareil avec les fichiers AssemblyInfo.
Je sais que je peux créer manuellement les tests sans l'outil, mais pourquoi VS2010 pense-t-il que ce projet est un projet de test unitaire? En recherchant ceci j'ai trouvé beaucoup de plaintes au sujet de la fonctionnalité étant complètement absent de VS2012 bêta, j'ai la caractéristique dans d'autres projets juste pas celui-ci. Quelques endroits avaient des plaintes liées, mais pas de réponses.
question similaire (légèrement différente) sans réponse: Unit test generation error in Visual studio website project?
Non, ce projet n'est pas censé être un projet de test, c'est une bibliothèque de classe que je souhaite tester. Propriétés du projet, Application, Le type de sortie est 'Class Library'. –
Tuer le projet et recommencer semble fonctionner, mais cela ne résout pas le mystère du pourquoi. –
Peut-être: ' {3AC096D0-A1C2-E12C-1390-A8335801FDAB}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ProjectTypeGuids>' –