【问题标题】:NUnit ignore all testsNUnit 忽略所有测试
【发布时间】:2009-03-30 18:55:26
【问题描述】:

我可以在测试中添加一个属性来忽略它

[Test]
[Ignore("Foo Bar")]

有什么方法可以忽略文件中的所有测试(在 TestFixture 级别)?

【问题讨论】:

    标签: nunit


    【解决方案1】:
    [TestFixture, Ignore("reason")]
    public class YourTestFixture { }
    

    或者,如果您希望将属性分解为每行一个:

    [TestFixture]
    [Ignore("reason")]
    public class YourTestFixture { }
    

    【讨论】:

    • @leora,这是正确的答案...应该被接受。
    • 这是最好的答案。当前接受的答案在技术上也是正确的,但会让您处于您不知道的死代码状态(原因在该答案的 cmets 中)。对于较新版本的 NUnit 2.5+,接受的答案实际上是错误的,因为 TestFixture 属性是可选的。见nunit.org/index.php?p=testFixture&r=2.5
    • [TestFixture] 不再需要,所以只需输入[Ignore] 就足够了。
    【解决方案2】:

    正如建议的那样,[Explicit] 属性效果很好。您也可以简单地将[Ignore()] 属性放在[TestFixture] 属性下,如文档所示:

    http://www.nunit.org/index.php?p=ignore&r=2.5

    如果您希望将测试标记为忽略,请使用[Ignore()](因此,如果所有其他测试都通过,您会看到黄色条)。如果您希望测试完全打折,请使用[Explicit](因此,如果所有其他测试都通过,您将获得绿色条)。

    【讨论】:

      【解决方案3】:

      您可以使用[Explicit] 属性使整个TestFixture“按需”。然后它在你想要的时候就在那里,但只有当你明确地点击它时。

      【讨论】:

        【解决方案4】:

        从类中删除[TestFixture] 属性似乎可行。

        编辑:从 NUnit 2.5 开始,当 [TestFixture] 属性对于非参数化的非通用装置成为可选时,这个答案就出错了。请参阅here 了解更多信息。

        【讨论】:

          【解决方案5】:

          不要对类应用 TextFixture 属性。

          【讨论】:

          • 通过不应用属性,您忽略了这样一个事实,即此类中有测试方法由于某种原因没有被测试。您应该使用 [TestFixture, Ignore("reason")] 来提供测试结果的输出并说明它们被忽略的原因。当将其传达给其他开发人员可能有意义时,删除/删除它完全混淆了原因。
          • +1 @Chris...Ignore 属性更清楚地传达了目的。
          • 从 NUnit 2.5 开始这是不正确的,TestFixture 属性在大多数情况下是可选的 - nunit.org/index.php?p=testFixture&r=2.5
          • 为什么这是 -10 票 atm 的公认答案..?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-11
          相关资源
          最近更新 更多