【问题标题】:Is it a good practice to include an expected result in a testcase?在测试用例中包含预期结果是一种好习惯吗?
【发布时间】:2016-01-13 22:42:47
【问题描述】:

考虑以下测试:

    [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);
    }

在这样的测试用例中同时包含年份和预期结果是一种不好的做法,而不是创建两个不同的测试(例如,一个用于预期为真,一个用于预期为假?)

谢谢

【问题讨论】:

    标签: unit-testing testing tdd nunit


    【解决方案1】:

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

    您只需要这两个测试之一。第二个不会增加额外的错误捕获价值,只会增加维护负担。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 2012-03-01
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多