5



我發現各種迭代墊片的測試,但到目前爲止,我沒有發現任何東西,它提供一個完整的答案奏效。 我剛剛設置了許多Visual Studio測試代理,這些測試代理都表現出運行大部分我們計劃在其上運行的大部分單元測試。然而,當我來到檢查單元測試中,它的上線失敗之一:
using (ShimsContext.Create())

隨着堆棧跟蹤:
Result Message:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to resolve profiler path from COR_PROFILER_PATH and COR_PROFILER environment variables.
看了一些其他職位我安裝在測試劑的Visual Studio 2013,並確認它會在本地運行測試。然後,將COR_PROFILER_PATH設置爲我的計算機上使用的分析器,該分析器安裝在:「C:\ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ IntelliTrace \ 12.0.0 \ Microsoft.IntelliTrace.Profiler .12.0.0.dll」。 然後在同一個地方跟蹤失敗:
Test method threw exception:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to get profiler module handle 'C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\12.0.0\Microsoft.IntelliTrace.Profiler.12.0.0.dll'. The specified module could not be found ---> System.ComponentModel.Win32Exception: The specified module could not be found

建議分析器已在單獨的進程下加載並且無法使用。有沒有人有過這個或類似的設置任何成功?在基本級別上,Visual Studio測試代理可以使用Fakes運行測試嗎?
感謝使用運行在Visual Studio中跨多個網站這一問題的2013測試代理

+0

試着讓你的問題更簡潔一點,因爲它太大了。 – gsamaras 2014-11-04 19:28:57

+0

您的操作系統是32位的嗎?如果不是,你可能需要使用「程序文件(x86)」而不是「程序文件」。 – 2014-11-09 01:40:45

+0

不存在引用的文件。被用作測試代理的機器正在運行Windows 7 Embedded 32位。 – 2014-11-10 11:47:30

回答

4

我知道這是有點老了,所以OP可能得到他的答案,但對於其他人,我在這個問題上開了票與微軟和答案,我們的一個半小時後,來到查看此問題的設置:

Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException:無法解析來自COR_PROFILER_PATH和COR_PROFILER環境變量的分析器路徑。

,是,我是用mstest.exe,我應該一直在使用vstest.console.exe。在我的情況下,這是因爲我現在在我的代碼中進行了Fakes測試。

我使用Visual Studio 2013更新4

+0

我有一篇文章https://mfreidge.wordpress.com/2016/04/30/replace-mstest-to-vstest-to-support-fakes/描述如何從MSTest切換到VStest – 2016-04-30 13:57:16

1

我是有一個項目,我工作的同樣的問題。我發現這個問題注意到: https://connect.microsoft.com/VisualStudio/feedback/details/832744/unable-to-debug-shims-based-tests-unittestisolation-exception

有一個附加的項目,所以我下載了項目,並運行唯一的單元測試。同樣的錯誤 - 單元測試不成功。但是,我在References下右鍵單擊System,然後單擊Add Fakes Assembly。一旦它產生了Systemmscorlib的假貨,瞧!測試變成綠色。

我能夠在我的項目中重現問題 - 我沒有爲系統生成假貨。一旦我爲System生成它們,我的測試就從紅色變爲綠色!

備註 - 如果您不想生成System和mscorlib的所有假貨,則可以像這樣修改.fakes文件。

mscorlib.fakes:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="mscorlib" Version="4.0.0.0"/> 
    <StubGeneration Disable="true" /> 
    <ShimGeneration Disable="true" /> 
</Fakes> 

系統。假貨:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="System" Version="4.0.0.0"/> 
    <StubGeneration Disable="true" /> 
</Fakes> 

我無法禁用ShimGeneration for System.fakes - 測試失敗。

我希望這能解決別人的問題 - 錯誤非常模糊!

+0

感謝'StubGeneration Disable = 「真」 – 2016-04-14 02:29:33

0

(我假設你的測試代理也生成代理。)

與Visual Studio的版本同步構建服務版本已安裝?

我在以下環境中的同一個問題:

  • TFS 2013
  • 生成服務器瓦特/ TFS 2013
  • 安裝在構建服務器的Visual Studio 2015.3

當我將構建服務器上的TFS版本更新至2015.3,問題停止發生。

我知道它可能沒有意義,但解決了問題,因爲TFS 2015 XAML Build與TFS 2013.4應用程序層兼容。

相關問題