我有很多UnitTests,全部配置爲AnyCPU
。我們希望他們在BUILD機器上運行x64。構建機上運行基本NUNIT控制檯跑步者詹金斯服務器:如何指定NUnit測試運行器以64位執行測試
C:\nunit-console\nunit3-console.exe path-to-my-solution.sln --config=Debug --agents=1 --process=Separate --result=TestResult.xml;format=nunit2 --timeout=300000 --workers=1
出於測試目的,我有這個單元測試:
[Test]
public void TestProcess()
{
Assert.AreEqual(Environment.Is64BitProcess, true);
}
在Visual Studio中,如果我去Test -> Test Settings -> Default Processor Architecture
,它如果我選擇x86,則失敗,但如果選擇x64,則成功。
有沒有辦法執行直接throught的nunit3-console.exe
測試時無在測試項目(這裏不討論它的目標改變平臺具有相同的行爲,我們只是承認我們有一些理由來保持它作爲「任何CPU」)。
我發現這個https://msdn.microsoft.com/en-us/library/ee782531.aspx它解釋說,要在Visual Studio上做到這一點,我們可以選擇我的方法,要麼選擇創建一個test.runsettings
。
我試圖創建一個test.runsettings
文件,包含以下內容:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Configurations that affect the Test Framework -->
<RunConfiguration>
<!-- [x86] | x64
- You can also change it from menu Test, Test Settings, Default Processor Architecture -->
<TargetPlatform>x64</TargetPlatform>
</RunConfiguration>
</RunSettings>
我已經把它放在我的解決方案的根,我已經做了Test -> Test Settings -> Select Test Settings file
。 奇怪的部分是,我感覺這個操作(將該文件設置爲「測試設置文件」在我提交時並未保留,因爲如果我在另一臺計算機上進行了最新更改,那麼完成後,我必須再次設定
但我的單元測試仍然失敗build機器上的任何想法替代的還是什麼,我錯在這裏做
如果您使用的是NUnit控制檯運行程序,則有關適配器,測試設置等的信息都不相關。所有這些只適用於在Visual Studio下運行測試。請修改以包含與您如何運行測試相關的信息。 – Charlie
@Charlie NUnit控制檯不使用'runsettings'文件?我使用提供的命令行運行測試,並試圖在控制檯(使用NUnit控制檯)中模擬Visual Studio中的結果(以及適配器)。 – J4N
'.runsettings'文件是一個VS功能,與nunit控制檯運行無關。 – Charlie