【发布时间】:2015-05-19 20:31:51
【问题描述】:
我正在使用 VS2013 和 MSTest 中的 Resharper 测试运行程序运行单元测试。我有一个设置为 AnyCPU 的程序集,我有一个案例,我想针对作为 32 位程序集和 64 位程序集加载的程序运行一些单元测试。
原因是 Windows API 中有一些 DllImport 外部函数,如果我没有正确定义互操作 structs,它将在一个而不是另一个中工作。
所以我创建了两个单元测试 DLL,一个设置为 x86,另一个设置为 x64,它们都引用了被测 DLL。
我在 Resharper 中看到我可以将它指向 Local.testsettings 文件。然后在 Local.testsettings 文件中,主机页面上有一个名为“在 32 位或 64 位进程中运行测试”的下拉菜单,我可以选择“强制测试以 32 位进程运行”或“在 64 位进程中运行测试” 64 位机器上的位进程”。不幸的是,您所能做的就是在这两个选项之间来回切换,因此要么一组测试失败,要么另一组失败。
我真正想做的是基于单元测试程序集的平台目标运行它。有什么办法吗?
【问题讨论】:
标签: .net visual-studio-2013 mstest