2010-09-08 32 views
12

je reçois cette erreur lors de l'exécution de mes tests moq par Teamcity 5Teamcity pas DLL pour un test NUnit Projets

Test (s) a échoué. System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly 'Moq, Version = 3.1.416.3, Culture = neutral, PublicKeyToken = 69f491c39445e920' ou une de ses dépendances. Le système ne trouve pas le fichier spécifié. à MyCode.Tests.SomeHandlerTests.Setup()

Les tests fonctionnent très bien sur mon local; ils échouent juste sur le serveur de construction.

Je me suis assuré que les assemblages sont dans le Bin (en les regardant maintenant sur RDP, soyez juste sûrs).

Répondre

27

Donc, la question est de le faire avec le chemin de recherche DLL test sous les paramètres de NUnit

Il était:

.. \ Tests \ ** \ * test * .dll

Mais est maintenant:

.. \ Tests \ * \ bin \ Debug \ * test * .dll

Et les choses fonctionnent bien

MISE À JOUR

http://confluence.jetbrains.com/display/TCD8/NUnit

Vous pouvez utiliser ce modèle

** \ *. Dll

comme lo ng que vous ajoutez ce modèle dans le "Ne pas exécuter des tests de" champ

** \ obj \ ** \ *. dll

+1

Savez-vous pourquoi cela fonctionne? J'ai eu exactement le même problème, jusqu'à RDP pour voir que c'était là. – Robert

+2

@Robert - cela a fonctionné pour moi car à l'origine il prenait aussi le dossier/obj /, qui ne possède pas toutes les dépendances requises. – FriendlyGuy

+0

La même chose m'est arrivée et comme @MickieChan a dit qu'il exécutait les tests dans le dossier/obj mais je ne sais pas pourquoi dans mon cas, puisque mon modèle était% system.teamcity.build.workingDir% \\ ** \ bin \% system .Configuration% \ *. IntegrationTests.dll ne comprend donc pas pourquoi il récupèrerait le dossier/obj. L'autre signe que cela se produisait était dans le journal de construction où, pour chaque test échoué, il était écrit "Le test a été exécuté 2 fois dans la construction, 1 échec". –

0

J'ai eu un problème similaire, mais a constaté que J'ai eu différentes versions de Moq entre mes deux projets de test.

Le problème que j'avais était que la version correcte n'était pas disponible.

Il suffit de faire

Update-Package Moq 

De la commande Gestionnaire de paquets ligne