如何为调试和发布配置编写测试

Ale*_*kiy 5 .net c# testing unit-testing visual-studio

我正在编写一个库,如果它是调试或发布,它的行为会因模式而异。我想写一个单元测试TestDebugBehaviourTestReleaseBehaviour. 是否可以设置测试以在调试/发布模式下运行?

Jas*_*oyd 4

我认为你应该能够使用预处理器指令来做到这一点。我在下面的示例中使用 xunit;您可能需要用不同的属性来装饰您的测试方法。

该测试只能在调试模式下执行。

#if DEBUG

[Fact]
public void ThisIsATestThatWillOnlyRunInDebugMode()
{
    throw new Exception("I am running in debug mode.");
}

#endif
Run Code Online (Sandbox Code Playgroud)

该测试并不完全在发布模式下运行,它只是在除调试模式之外的任何模式下运行,但这通常已经足够好了。

#if !DEBUG

[Fact]
public void ThisIsATestThatWillNotRunInDebugMode()
{
    throw new Exception("I am running in in something other than debug mode.");
}

#endif
Run Code Online (Sandbox Code Playgroud)