簡體   English   中英

在同一次運行中同時運行 32 位和 64 位測試?

[英]Run both 32-bit and 64-bit tests in the same run?

我正在使用 VS2013 和 MSTest 中的 Resharper 測試運行器運行單元測試。 我有一個設置為 AnyCPU 的程序集,我想對作為 32 位程序集和 64 位程序集加載的程序集運行一些單元測試。

這樣做的原因是 Windows API 中有一些DllImport外部函數,如果我沒有正確定義互操作struct ,它將在一個而不是另一個中工作。

所以我創建了兩個單元測試 DLL,一個設置為 x86,另一個設置為 x64,它們都引用了被測 DLL。

我在 Resharper 中看到我可以將它指向 Local.testsettings 文件。 然后在 Local.testsettings 文件中,主機頁面上有一個名為“在 32 位或 64 位進程中運行測試”的下拉菜單,我可以選擇“強制測試在 32 位進程中運行”或“在 64 位進程中運行測試” 64 位機器上的位進程”。 不幸的是,您所能做的就是在這兩個選項之間來回切換,因此要么一組測試失敗,要么另一組失敗。

我真正想做的是根據單元測試程序集的平台目標運行它。 有沒有辦法做到這一點?

MSTest AFAIK 無法滿足您的要求。 您可以使用能夠並行執行的測試平台,例如Nuclear.Test 它在各種運行時和處理器架構上執行所有測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM