我正在编写一个库,如果它的调试或发布,它的行为会因模式而异。我想写一个单元测试TestDebugBehaviour
和TestReleaseBehaviour
。是否可以设置测试以在调试/发布模式下运行?
答案 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)
没有。这是不可能的。如果你想进行这样的比较,只需在两个版本中编译并运行它并比较结果。如果方法仅在发布模式下表现不正确,请使用记录器跟踪该方法的行为并检查出错的位置。