2017-08-25 86 views
0

我有我使用的練習部署到Azure的爲什麼我的NUnit Assert在部署到Azure時失敗?

位於測試項目: https://github.com/EdLichtman/HelloAzureCI

當我使用ReSharper的運行NUnit的測試中,他們都通過除環境特定的測試用例,這應該是可以預料的。

然而,當我在我的本地計算機上,運行deploy.cmd所有4次測試失敗,因爲「對象引用不設置到對象的實例。」

我的單元測試之一是「Assert.AreEqual(1,1)」,並引發一個nullReference異常,這導致我認爲Assert不是一個對象的實例。

這是爲什麼這樣的問題?其他人可以重新創建嗎?

回答

2

這裏有一些奇怪的事情,但最主要的是,你正在嘗試運行NUnit的使用NUnit的V2控制檯亞軍(2.6.2)3.7.1測試。這是永遠不會工作。我的建議是,無論您在遠程環境中運行NUnit還是使用第三方運行程序時遇到問題,都可以回到本地使用控制檯運行程序。即使這不是您喜歡的工作模式,但如果您儘可能多地消除中間商,您通常可以更輕鬆地找出問題所在。

如果你真的想下vsconsole運行,那麼你需要它在你的命令行的位置安裝nunit3-VS-適配器NuGet包和點。請注意,即使是我們的適配器也是另一箇中間人,所以使用nunit3控制檯進行調試仍然是一個不錯的選擇。

+0

所以你是說我逃避net35而不是vs.console.exe命令?我應該指出哪個命令的位置? – user3654055

+0

我不完全知道你是在暗示,(你可以在暗示我結束了與解決方案),而是因爲你說的對TestAdapter什麼的,我加了.runsettings文件vs.console.exe結束命令,方法是添加/ Settings:「%DEPLOYMENT_SOURCE%\。runsettings」並指向TestAdapterPaths中的適配器。我仍然遇到Azure環境問題,但在我的本地機器上,我的測試通過了!謝謝! – user3654055

+0

您鏈接的項目有NUnit 3.7.1框架的參考。 輸出表明您正在運行NUnit 2.6.2控制檯。 任何NUnit V2控制檯運行器(2.0-2.6.4)都無法正確執行鍼對NUnit 3.0或更高版本框架構建的測試。 – Charlie