根据条件运行NUnit测试

本文关键字:NUnit 测试 运行 条件 | 更新日期: 2023-09-27 18:19:06

我正在用Win7 x64写一个项目。我的部分测试需要使用SQLServer CE,它只表示对x86的支持。我正在使用Visual Studio 2010 Express,我必须为我的项目手动编辑更改平台目标。例如"schema export test (NHibernate)"。我是如何根据平台目标运行部分测试的?

谢谢!

根据条件运行NUnit测试

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

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

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

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

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