2014-02-12 50 views
0

我正在使用基於Selenium webdriver的C#NUnit項目,其中我有幾個測試使用Microsoft.Expression.Encoder截取每個測試場景的截圖並記錄視頻.dll文件。 我打算使用下面的代碼示例從命令行運行這些測試。從命令行運行selenium webdriver C#測試Microsoft.Expression.Encoder

nunit-console /run:MyProject.Tests.SampleTest MyProject.dll 

由於我的項目是建立在.NET Framework 4.0中,我並更新了配置文件用於NUnit的使用下面的線路設置來使用框架4.0。

<supportedRuntime version="v4.0.30319" /> 

我的問題是,當我嘗試運行測試時,我得到以下錯誤。我嘗試在x86和x64模式下構建項目,但問題依然存在。

錯誤和故障: 1)測試錯誤:MyProject.Tests.SampleTest System.BadImageFormatException:無法加載文件或程序集Microsoft.Expression.Encoder,版本= 4.0.0.0,文化=中性公鑰= 31bf3856ad364e35'或它的一個依賴關係。試圖加載格式不正確的程序。

我也嘗試過運行一個簡單的測試,它可以在命令行下正常運行。

+0

聽起來就像它是在一個不同的被編譯架構比你在運行。你在編譯測試庫是什麼?任何CPU? 86? – Arran

+0

我試過在任何CPU,x86和x64下編譯。每次都有相同的結果。 –

回答

0

我想出瞭解決方案。由於我在我的項目中使用Microsoft.Expression.Encoder DLL來視頻記錄測試,因此此DLL被編譯爲x86。因此,我可以將我的硒C#項目保留在任何CPU模式下,並使用以下命令執行測試。

nunit-console-x86 /run:MyProject.Tests.SampleTest MyProject.dll 

NUnit的文件夾具有兩個 「NUnit控制檯」 的EXE NUnit的-console.exeNUnit控制檯-x86.exe程序

相關問題