簡體   English   中英

在VS2010中使用MSTest測試運行錯誤

[英]Test run errors with MSTest in VS2010

當我運行我的單元測試時,所有測試都通過,但不是“測試運行成功”或任何成功消息,我在小欄中得到“測試運行錯誤”,告訴我有多少測試通過,即使所有測試都通過我的測試通過了。

當我點擊文本時,我被帶到一個頁面,告訴我發生了以下兩件事:

警告:測試運行部署期間發生沖突:測試容器[...] \\ Booking.Web.Tests.dll直接或間接引用的部署項'[...] \\ Booking.Web.dll'無法部署到'預訂.Web.dll'因為否則文件'[...] \\ Booking.Web.dll'將覆蓋'[...]直接或間接引用的部署項'[...] \\ Booking.Web.dll' \\ Booking.Web.Tests.dll”

錯誤:無法初始化ASP.NET項目'Booking.Web'拋出異常:網站無法正確配置; 獲取ASP.NET進程信息失敗。 請求' http:// localhost:54131 / VSEnterpriseHelper.axd '返回錯誤:遠程服務器返回錯誤:(500)內部服務器錯誤。

我不明白它抱怨的一半。 我該如何擺脫這些錯誤?

(供參考:Booking.Web是一個ASP.NET MVC 2項目,Booking.Web.Tests是一個測試項目,[...]是我環境中項目的完整本地路徑,在上面的大多數情況下到Booking.Web項目內的/ bin / debug /文件夾)

更新:按照說明,我在事件查看器中查找了更多信息。 這是我發現的:

3008發生配置錯誤。
5/8/2010 2:26:15 AM
5/8/2010 12:26:15 AM
4ffbe9180c3d4c02adb9ac4d61dd0928
1
1
0
4484bbf4-1-129177519750954331
充分
/
d:\\ ... \\ Booking.Web \\
AASLOEG

1876年
WebDev.WebServer40.EXE
Aasloeg \\托馬斯
ConfigurationErrorsException
無法加載文件或程序集'Ninject.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 79764a4ef1548af1'或其依賴項之一。 強名稱簽名無法驗證。 程序集可能已被篡改,或者是延遲簽名但未使用正確的私鑰完全簽名。 (來自HRESULT的異常:0x80131045)at
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)at
System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()at
System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)at
System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)at at
......荒謬的堆棧痕跡

首先 - 您啟用了代碼覆蓋率。 你可以在這里閱讀它。 所以單元測試沒有問題。 這是代碼覆蓋問題。

第二件事 - 這個警告沒問題 - 沒關系。

第三件事 - 這個錯誤 - 這是關鍵問題。

可能存在不同的問題 - 最常見的是您應該引用更多的程序集。 要找出應該加載的內容,您必須轉到事件查看器並查看Windows日志 - >應用程序

我有與MS-Test相關的錯誤,抱怨DLL可以“覆蓋部署項目blah.dll”。

發生這種情況是因為我正在為多個DLL同時運行MS-Test,如下所示:

mstest.exe /testcontainer:Tests.web.dll /testcontainer:Tests.svcs.dll /testcontainer:Tests.core.dll

當MS-Test運行時,它試圖從測試中獲取所有輸出DLL,並將它們放在測試運行的out / Out目錄中。 在我的例子中, Tests.svcs.dllTests.core.dll都引用了相同的程序集( Core.dll ),因此它試圖將該DLL復制到同一個地點兩次 (從而導致警告)。

為了解決這個問題,我將每個程序集的測試運行分開,這給每個測試運行它的輸出DLL的自己/ Out文件夾

mstest.exe /testcontainer:Tests.web.dll

mstest.exe /testcontainer:Tests.svcs.dll

mstest.exe /testcontainer:Tests.core.dll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM