2009-10-23 14 views
0

Je viens de configurer TFS 2010 Beta 2 sur notre serveur et ça fonctionne bien. J'ai enregistré ma solution qui est écrite dans Visual Studio 2008 SP1, avec un projet de classe principal et un projet de test d'unité. Le contrôle de la source fonctionne correctement avec le correctif de compatibilité directe pour VS 2008 Team Explorer pour fonctionner avec TFS 2010.Tests unitaires échouant sur TFS2010 Bêta 2 écrit en VS2008

Les tests unitaires sont écrits à l'aide de MSTest. Tout fonctionne et s'exécute localement avec des tests réussis, mais lorsque j'ai configuré la compilation automatisée sur le serveur pour construire la solution, le projet de classe principale se construit mais les tests unitaires échouent.

Client: Windows 7 64 bits, Visual Studio 2008 SP1 serveur: Windows 2008 RS 64 bits, Beta 2

Team Foundation Server 2010 J'ai essayé différentes cibles, différentes versions .net. Avec la dernière tentative en utilisant la version MSTest suivante C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ MSTest.exe j'obtiens l'erreur suivante

TFB210610: 'MSTest.exe' returned an unexpected exit code. Expected '0'; actual '1'. 

Cela me conduit à penser que les tests sont à défaut, mais localement ils ne le sont pas.

Est-ce que quelqu'un d'autre a eu des problèmes avec cela? Et peut me diriger dans la bonne direction?

Vive

Modifier

Je reçois maintenant l'erreur suivante ...

C: \ Windows \ Microsoft.NET \ Framework64 \ v3.5 \ Microsoft.Common. targets: Impossible de résoudre cette référence. Impossible de localiser l'assembly "Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version = 9.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a, processorArchitecture = MSIL". Vérifiez que l'assemblage existe sur le disque. Si cette référence est requise par votre code, vous risquez d'obtenir des erreurs de compilation.

Répondre

0

Solution

J'ai réussi à le faire fonctionner à peu près. Cela impliquait de ne pas utiliser les attributs de test ExpectedException et d'enregistrer une version 9 de la DLL dans le gac sur le serveur. Ce sera fait pour l'instant, j'espère qu'il sera résolu dans la version 2010 complète, bien que je serai également en mesure de mettre à niveau TFS et VS, donc tout sera bon.

A bit more detailed write up can be found here

:-)

0

Run mstest.exe directement à partir d'une ligne de commande sur le serveur comme ceci:

mstest.exe /testcontainer:myunittests.dll 

Cela devrait vous donner plus d'informations sur ce qui se passe mal.

+0

Merci pour le pointeur, mais il n'y a pas accès à une invite de commande Visual Studio sur le serveur pour permettre de le faire. Je commence à devoir utiliser un SDK sur le serveur, mais je ne veux pas installer Visual Studio ... des idées? – WestDiscGolf

+0

Une invite de commande normale fera, même si vous devrez peut-être indiquer le chemin d'accès complet à mstest.exe –