有没有办法将NUnit测试指定为“额外信用”?

问题描述 投票:1回答:1

我有一些API的测试,我希望能够表达某些反映“有抱负”或“额外信用”要求的测试 - 换句话说,如果它们通过它会很好,但如果它们不通过则很好。例如:

[Test]
public void RequiredTest()
{
    // our client is using positive numbers in DoThing();
    int result = DoThing(1);
    Assert.That( /* result is correct */ );
}

[Test]
public void OptionalTest()
{
    // we do want to handle negative numbers, but our client is not yet using them
    int result = DoThing(-1);
    Assert.That( /* result is correct */ );
}

我知道Ignore属性,但我希望能够以这样的方式标记OptionalTest它仍然在CI服务器上运行,但如果它没有通过就没问题 - 只要它确实如此,我想采取注意并可能使它成为一项要求。是否有支持此功能的主要单元测试框架?

unit-testing nunit
1个回答
1
投票

我会使用警告来实现这一目标。这样 - 您的测试将打印“警告”输出,但不会失败,并且不会使CI构建失败。

见:https://github.com/nunit/docs/wiki/Warnings

一旦它这样做,我想注意并可能使它成为一个要求。

这部分是一个稍微单独的要求!取决于你想要“注意”的方式!考虑查看自定义属性 - 可以编写一个IWrapSetUpTearDown属性,该属性在相关测试通过时发送电子邮件。请参阅文档,这里:https://github.com/nunit/docs/wiki/ICommandWrapper-Interface

后者是一个更不寻常的要求 - 我希望必须做一些定制的东西来满足你的需求!

© www.soinside.com 2019 - 2024. All rights reserved.