我正在使用Win7 x64编写项目。我的测试的某些部分要求使用SQLServer CE,它仅表示对x86的支持。我正在使用Visual Studio 2010 Express,并且必须为项目手动更改* .cproj文件(例如schema export test (NHibernate))来更改平台目标。结果我根据平台目标运行部分测试。

谢谢!

最佳答案

我不知道NUnit中是否有内置机制来处理这种情况,但是至少您可以使用预处理器指令。

例如,创建针对x86的“ Debug x86”解决方案配置。然后定义DEBUG_X86条件编译符号(在项目的属性中)。最后,用预处理器指令包围单元测试:

#if DEBUG_X86
[Test]
public void Test()
{
    // This test will only run when compiled with Debug x86
}
#endif


编辑:实际上,您甚至不必创建新的解决方案配置,因为可以根据平台(https://stackoverflow.com/a/1313450/869621)定义条件符号。因此,定义一个WIN32编译符号,并用它包围测试:

#if WIN32
[Test]
public void Test()
{
    // This test will only run when compiled for x86
}
#endif

10-07 13:12
查看更多