NUnit/Watin を使用して、ASP.Net Web フォーム アプリの UI をテストしています。TDD、単体テスト、統合テストなどに関する高レベルの概念は理解していますが、これまでそれらを使用する機会はあまりありませんでした。
したがって、データ入力フォームで検証ロジックをテストする場合、各検証エラー (つまり、フィールド x が必要) をトリガーするテストを 1 つ作成するか、スローされる検証エラーごとに個別のテストを作成する必要があります。フォームによって。これは単にスタイルの問題ですか、それとも、検証ロジックのすべての可能な組み合わせにヒットするテストではなく、いくつかのテストを作成する正当な理由がありますか?
疑似コード:
[Test]
public void Validation()
{
//Do some stuff to test that username is required.
Assert.AreEqual(true, ie.ContainsText("Username is required.");
//Do some stuff to test that passwword is required.
Assert.AreEqual(true, ie.ContainsText("Password is required.");
}
対。
[Test]
public void ValidateUserName()
{
//Do some stuff to test that username is required.
Assert.AreEqual(true, ie.ContainsText("Username is required.");
}
[Test]
public void ValidatePassword()
{
//Do some stuff to test that passwword is required.
Assert.AreEqual(true, ie.ContainsText("Password is required.");
}