天天看點

第一個單元測試例子

1.被測類

    被測類LogAnalyzer,其中的被測函數IsValidLogFileName用于判斷檔案名是否以.log結尾。

public class LogAnalyzer
{
    public bool IsValidLogFileName(string fileName)
    {
        if (string.IsNullOrEmpty(fileName))
            throw new ArgumentException("fileName is null");

        if (!fileName.ToLower().EndsWith(".log"))
        {
            return false;
        }
        return true;
    }
}
           

2.單元測試

[TestFixture]
public class LogAnalyzerTests
{
    private LogAnalyzer analyzer = null;

    [SetUp]
    public void Setup()
    {
        analyzer = new LogAnalyzer();
    }

    [Test]
    public void IsValidLogFileName_validFileLower_ReturnTrue()
    {
        bool flag = analyzer.IsValidLogFileName("20190103.log");
        Assert.IsTrue(flag);
    }

    [Test]
    public void IsValidLogFileName_validFileUpper_ReturnTrue()
    {
        bool flag = analyzer.IsValidLogFileName("20190103.LOG");
        Assert.IsTrue(flag);
    }

    [Test]
    [ExpectedException(typeof(ArgumentException),
        ExpectedMessage = "fileName is null")]
    public void IsValidLogFileName_emptyFileName_ThrowException()
    {
        analyzer.IsValidLogFileName(string.Empty);
    }


    [TearDown]
    public void TearDown()
    {
        analyzer = null;
    }
}
           

繼續閱讀