作为基于测试的开发的新手,这个问题一直困扰着我。多少是太多了?应该测试什么,应该如何测试,为什么要测试?给出的示例是在 C# 中使用 NUnit,但我认为问题本身与语言无关。
这是我自己的两个当前示例,对通用列表对象的测试(使用字符串进行测试,初始化函数添加了三个项目{"Foo", "Bar", "Baz"}
):
[Test]
public void CountChanging()
{
Assert.That(_list.Count, Is.EqualTo(3));
_list.Add("Qux");
Assert.That(_list.Count, Is.EqualTo(4));
_list[7] = "Quuuux";
Assert.That(_list.Count, Is.EqualTo(8));
_list.Remove("Quuuux");
Assert.That(_list.Count, Is.EqualTo(7));
}
[Test]
public void ContainsItem()
{
Assert.That(_list.Contains("Qux"), Is.EqualTo(false));
_list.Add("Qux");
Assert.That(_list.Contains("Qux"), Is.EqualTo(true));
_list.Remove("Qux");
Assert.That(_list.Contains("Qux"), Is.EqualTo(false));
}
该代码是相当自我注释的,所以我不会详细说明正在发生的事情,但是这种事情是否太过分了?Add()
并且Remove()
当然是单独测试的,那么我应该通过这些测试达到什么水平?我什至应该进行这些测试吗?