0

我有这样的测试。负单元测试。

这个测试有意义吗?只测试预期的异常情况不是更好吗?

[Test]
public void Get_Root_Units_By_Non_Existing_TemplateId()
{
// ARRANGE
ITemplateUnitDataProvider provider = new TemplateUnitDataProvider(_connectionString);
int templateId = -1;

// ACT
var units = provider.GetRootUnits(templateId);

// ASSERT
Assert.IsNotNull(units);
Assert.Count(0, units);           
} 
4

3 回答 3

4

对我来说,这个测试是有意义的。如果未找到与输入参数匹配的任何记录,您正在检查 SUT(被测对象)是否返回一个空数组。

于 2012-07-18T06:16:00.267 回答
1

在我看来,单元测试用于检查您的方法的正确性。正确处理不正确的输入也是您要测试的内容。

单元测试旨在让您对代码有一种安全感,因此处理无效输入肯定是我会测试的。

于 2012-07-18T06:18:29.783 回答
0

写失败测试的一个很好的理由是任何单元测试都比没有单元测试好

编写失败测试可以让你很好地了解你的系统它应该失败的地方,否则你有一些你不知道的其他场景

于 2012-07-18T06:20:39.767 回答