2010-09-08 10 views
12

me sale este error cuando se ejecuta a través de mis pruebas Moq TeamCity 5TeamCity no DLL para algunos NUnit Test proyecta

prueba (s) falló. System.IO.FileNotFoundException: No se pudo cargar el archivo o ensamblado 'Moq, = Versión 3.1.416.3, Culture = neutral, PublicKeyToken = 69f491c39445e920' o una de sus dependencias. El sistema no puede encontrar el archivo especificado. en MyCode.Tests.SomeHandlerTests.Setup()

Las pruebas se ejecutan bien en mi local; solo fallan en el servidor de compilación.

Me aseguré de que los ensamblajes se encuentren en la Papelera (mirándolos ahora con RDP solo hay que estar seguros).

Respuesta

27

Así que el asunto tenía que ver con la ruta de búsqueda de prueba DLL en la configuración de NUnit

que era:

.. \ Ensayos \ ** \ * Prueba * .dll

Pero es ahora:

.. \ ensayos \ * \ bin \ Debug \ * Prueba * .dll

Y las cosas funcionan muy bien

ACTUALIZACIÓN

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

Usted puede utilizar este modelo

** \ *. Dll

como lo ng a medida que añada este patrón en el "No ejecute las pruebas de" campo

** \ obj \ ** \ *. dll

+1

¿Usted sabe por qué esto funciona? Tuve exactamente el mismo problema, hasta RDP para ver que estaba allí. – Robert

+2

@Robert - funcionó para mí porque originalmente también estaba recogiendo la carpeta/obj /, que no tiene todas las dependencias requeridas. – FriendlyGuy

+0

Lo mismo me pasó a mí y como @MickieChan dijo que estaba ejecutando las pruebas en la carpeta/obj pero no estoy seguro de por qué en mi caso, ya que mi patrón era% system.teamcity.build.workingDir% \\ ** \ bin \% system .Configuration% \ *. IntegrationTests.dll, por lo que no estoy seguro de por qué recogería la carpeta/obj. La otra señal de que esto estaba sucediendo está en el registro de compilación donde, para cada prueba fallida, decía "La prueba se ejecutó 2 veces en la compilación, 1 error". –

0

tuve un problema similar, pero se encontró que Tenía versiones diferentes de Moq entre mis 2 proyectos de prueba.

El problema que tuve fue que la versión correcta no estaba disponible.

Eso sí,

Update-Package Moq 

Desde la línea de comandos del Administrador de paquetes

Cuestiones relacionadas