c# - 如何将整个类(class)标记为 "Inconclusive"?

标签 c# unit-testing nunit

我有一个名为 MyClass 的测试类。 MyClass 有一个加载一些初始数据的 TestFixtureSetUp。我想在加载初始数据失败时将整个类(class)标记为不确定。就像有人通过调用 Assert.Inconclusive() 将测试方法标记为不确定。

有什么解决办法吗?

最佳答案

您可以使用 Setup 解决它,方法是在数据加载失败时发出信号。

例如:

[TestFixture]
public class ClassWithDataLoad
{
    private bool loadFailed;

    [TestFixtureSetUp]
    public void FixtureSetup()
    {
        // Assuming loading failure throws exception.
        // If not if-else can be used.
        try 
        {
            // Try load data
        }
        catch (Exception)
        {
            loadFailed = true;
        }
    }

    [SetUp]
    public void Setup()
    {
        if (loadFailed)
        {
            Assert.Inconclusive();
        }
    }

    [Test] public void Test1() { }        
    [Test] public void Test2() { }
}

Nunit 不支持 TestFixtureSetUp 中的 Assert.Inconclusive()。如果完成对 Assert.Inconclusive() 的调用,则夹具中的所有测试都显示为失败。

关于c# - 如何将整个类(class)标记为 "Inconclusive"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994354/

相关文章:

c# - 为什么在基类构造函数中设置时重写的 get-only 属性保持为 null?

c# - 如何从列表中删除当前播放的索引项,但变量 'i' 现在是 1 而不是 0?

unit-testing - 使用模板 golang 进行单元测试

c# - 使用成员资格时如何测试 ASP.NET MVC 3 身份验证

c# - nunit 如何成功等待 async void 方法完成?

c# - 为什么这个异步单元测试会永远阻塞线程?

c# - 使用 Fileupoad 控件和 sqldatasource 保存图像文件

c# - 将 WindowsAzure.ServiceBus 迁移到 Azure.Messaging.ServiceBus

node.js - Mocha 单元测试: where to create variables

unit-testing - 我可以将 Watin 配置为在测试完成时让浏览器窗口保持打开状态吗?