2010-09-08 47 views
12

我通過TeamCity的5TeamCity的不是DLL的一些NUnit測試項目

試運行起訂量我測試時出現此錯誤(S)失敗。 System.IO.FileNotFoundException: 無法加載文件或程序集'Moq, 版本= 3.1.416.3,Culture = neutral, PublicKeyToken = 69f491c39445e920'或 其依賴項之一。系統 找不到指定的文件。在 MyCode.Tests.SomeHandlerTests.Setup()

測試在我的本地運行良好;他們只是在構建服務器上失敗。

我確保程序集在bin中(現在通過RDP查看它們,只是雙重保證)。

回答

27

所以,問題是做測試DLL搜索路徑下的NUnit的設置

它是:

.. \測試\ ** \ *測試* .DLL

但現在是:

.. \測試\ * \ BIN \調試\ *測試* .DLL

,事情很好地工作

UPDATE

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

您可以使用此模式

** \ *。dll的

爲LO NG,你在添加此模式場 「不要運行測試」

** \ OBJ \ ** \ *。dll的

+1

你知道爲什麼這個工程?我有完全相同的問題,直到RDP看到它在那裏。 – Robert 2013-04-16 18:36:04

+2

@Robert - 它爲我工作,因爲它最初也是在拾取/ obj /文件夾,它沒有所有必需的依賴關係。 – FriendlyGuy 2014-02-08 00:19:51

+0

同樣的事情發生在我身上和@MickieChan說它正在運行/ obj文件夾中的測試,但不知道爲什麼在我的情況下,因爲我的模式是%system.teamcity.build.workingDir%\\ ** \ bin \%system .Configuration%\ *。IntegrationTests.dll所以不知道爲什麼它會拿起/ obj文件夾。發生的另一個跡象是在構建日誌中,對於每個失敗的測試,它都會說「測試在構建中運行2次,失敗1次」。 – 2015-03-30 23:25:44

0

我也有類似的問題,但發現我在兩個測試項目之間有不同版本的Moq。

我遇到的問題是正確的版本不可用。

只是做

Update-Package Moq 

從包管理器命令行