1 介绍

本节课主要学习如何针对不同类型的方法编写测试用例,例如:

2 测试字符串

看下面这个代码:

public class HtmlFormatter
{
    public string FormatAsBold(string content)
    {
        return $"<strong>{content}</strong>";
    }
}

然后我们编写测试输出的测试用例:


[TestFixture]
public class HtmlFormatterTests
{
    private HtmlFormatter _formatter;
    [SetUp]
    public void SetUp()
    {
        _formatter = new HtmlFormatter();
    }
        
    [Test]
    public void FormatAsBold_WhenCalled_ShouldEncloseTheStringWitchStrongElement()
    {
        var result = _formatter.FormatAsBold("abc");
            
        Assert.That(result, Does.StartWith("<strong>").IgnoreCase);
        Assert.That(result, Does.EndWith("</strong>").IgnoreCase);
        Assert.That(result, Does.Contain("abc"));
    }
}

比起直接在断言中写出<strong>abc</strong>,我们使用这种更通用的写法或许会更好,另外断言中的语句是可以链式调用的,所以我们可以继续加点来添加更多的限制,.Ignore 可以忽视大小写的问题。

不过这个测试还是有一点问题的,如果它输出了 <strong>abcd</strong> 的话,这个测试依然会给它判对,