テストベースの開発は初めてなので、この質問は私を悩ませてきました。多すぎるとはどのくらいですか?何をテストし、どのようにテストし、なぜテストする必要があるのか? 与えられた例は NUnit を使用した C# のものですが、質問自体は言語に依存しないと思います。
これは私自身の現在の2つの例であり、一般的なリストオブジェクトのテストです(文字列でテストされ、初期化関数は3つのアイテムを追加します{"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()
個別にテストされるので、これらの種類のテストではどのレベルに行く必要がありますか? 私はこれらの種類のテストを受ける必要がありますか?