我使用VS2013和MSTest中的Resharper测试运行器运行单元测试。我有一个程序集设置为AnyCPU,我有一个案例,我想对那些作为32位程序集和64位程序集加载的单元测试运行。
原因是Windows API中有一些DllImport
外部函数,如果我没有定义恰当的互操作struct
,它将在一个中运行不是另一个。
所以我创建了两个单元测试DLL,一个设置为x86,另一个设置为x64,它们都引用了测试中的DLL。
我在Resharper中看到我可以将它指向Local.testsettings文件。然后在Local.testsettings文件中,Hosts页面上有一个名为"在32位或64位进程中运行测试的下拉列表"我可以选择"强制测试以32位进程运行"或"在64位机器上以64位进程运行测试"。不幸的是,您只能在这两个选项之间来回切换,因此一组测试失败,或另一组失败。
我真正想要做的是根据单元测试程序集的平台目标运行它。有什么办法吗?