在测试用例中包含预期结果是一个好的实践吗?

4

考虑以下测试:

    [TestCase(2016, true)]
    [TestCase(2017, false)]
    [TestCase(2018, false)]
    [TestCase(2019, false)]
    [TestCase(2020, true)]
    public void When_IsLeapYear_ReturnTrueForLeapYear(int year, bool expectedResult)
    {
        //Act
        var result = _sut.IsLeapYear(year);

        //Assert
        Assert.AreEqual(result, expectedResult);
    }

在测试用例中同时包含年份和预期结果,而不是创建两个不同的测试用例(例如,一个用于期望为真,另一个用于期望为假),这是否是一个不良实践?谢谢。
1个回答

6

不,实际上我认为制作两个测试来测试完全相同的条件但一个“期望为真”另一个“期望为假”是一种不好的做法,其中一个期望成功而另一个期望失败...

你只需要其中一个测试。第二个测试没有增加任何捕获错误的价值,只增加了维护负担。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接