NUnit:如何对另一个单元测试失败进行单元测试

本文关键字:单元测试 失败 另一个 NUnit | 更新日期: 2023-09-27 18:20:23

我有一个这样的包装器。

    public static void ShouldContain(this string str, string subStr)
    {
        Assert.That(str, Contains.Substring(subStr));
    }

有可能对这个包装器进行单元测试吗?我能够通过添加TestCase属性对它进行单元测试:

    [TestCase("Hello world","world", 
        Description= "This test case will pass, because the Assert will be successful")]
    public static void ShouldContain(this string str, string subStr)
    {
        Assert.That(str, Contains.Substring(subStr));
    }

但当我尝试另一个测试用例时,它是否定的,我的否定测试用例失败了,因为Assert失败了。

NUnit:如何对另一个单元测试失败进行单元测试

我能够使用TestCase属性的ExpectedException参数进行测试:

    [TestCase("Hello world","world")]
    [TestCase("Hello world", "bye", ExpectedException = typeof(AssertionException))]
    public static void ShouldContain(this string str, string subStr)
    {
        Assert.That(str, Contains.Substring(subStr));
    }