我們在項目中使用Visual Studio 2012和Team Foundation Server 2010。因爲我們使用Microsoft Fakes,所以我們可能沒有使用Team Build 2010的開始測試功能,我創建了一個構建活動,它調用VSTest.Console.exe傳遞測試程序集。這種方法對我們來說工作得很好。但是,最近簽入後,執行Vstest.console.exe時出現以下錯誤:調用執行程序'executor:// mstestadapter/v1'時發生異常:未將對象引用設置爲對象的實例
錯誤:調用executor'executor:// mstestadapter/v1'時發生異常:未將對象引用設置爲實例的一個對象。
我將二進制文件複製到我的本地機器,並能夠再次得到錯誤。有趣的是,我們在簽入之前運行一個開發版本,它運行相同的參數並且工作正常的vstest.console.exe。我的機器上有兩個文件夾,其中一個可以正常工作,其他則不可以。編譯後的程序集看起來大小相同,並沒有太大的區別。
我嘗試使用進程監視器,但找不到任何明顯的情況,除了該進程返回退出代碼1.有人知道這個錯誤嗎?有什麼方法可以從我的測試中找到更多信息?
問候,
哈米德
這給我修好了。任何人都知道爲什麼這會阻止測試運行?我的意思是,誰會認爲AssemblyCulture屬性會影響你的單元測試...... – mikesigs
MS測試框架解析程序集中的類型,看看哪些標記了TestClass和TestMethod屬性。據推測,它通過反射GetCustomAttribute來完成。可能是因爲它列舉了大會,並得到它的屬性,它不會正確處理AssemblyCulture?它是一個瘋狂的猜測 - 它解析Assembly屬性而不是Type屬性的做法是任何人猜測的。 – PhillipH