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

时间:2015-04-12 23:48:29

标签: c# .net visual-studio unit-testing testing

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

2 个答案:

答案 0 :(得分:2)

我认为您应该能够使用预处理程序指令执行此操作。我在下面的例子中使用xunit;你可能不得不用不同的属性来装饰你的测试方法。

此测试应仅在调试模式下执行。

#if DEBUG

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

#endif

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

#if !DEBUG

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

#endif

答案 1 :(得分:-1)

没有。这是不可能的。如果你想进行这样的比较,只需在两个版本中编译并运行它并比较结果。如果方法仅在发布模式下表现不正确,请使用记录器跟踪该方法的行为并检查出错的位置。