始终在发布模式下运行单元测试

时间:2013-03-26 08:08:27

标签: asp.net unit-testing configuration

我有一个方法,其中包含在发布模式和调试模式之间变化的逻辑。它根本不高级,但我仍然需要对它进行单元测试,因为我的应用程序将用于更大的图片,我想将用户重定向到其他网站,如果它没有在发布模式下使用。

现在我的问题是,有没有办法强制单元测试在发布模式下运行?我不希望每次想要运行单元测试时手动更改构建配置。

1 个答案:

答案 0 :(得分:1)

您可以创建测试接缝,而不是在发布模式下运行单元测试,这样您就可以控制要引出的行为。你可能会这样:

public class Foo {

    public int Bar() {
      if (IsDebugModeEnabled()) {
        return 1;
      } else {
        return 0;
      }
    }

    public boolean IsDebugModeEnabled() {
      #if DEBUG
      return true;
      #else
      return false;
      #endif
    }   
}

通过这种方式,您可以选择两种方法来测试逻辑路径。您可以创建子类Foo并覆盖IsDebugModeEnabled或使用部分模拟来直接设置返回值。