簡単なCRUDベースのアプリケーションを実行する必要があります。私はTDDの方法でこれにアプローチしようとしています。私はTDDの初心者であり、テストの進め方を実際に理解することはできません。
シナリオは次のとおりです。
- 従業員を(一度に1人ずつ)作成/更新/削除できる必要があります。
- 表示目的で従業員のリストを取得できる必要があります
簡単にするために、これをコマンドラインアプリケーションと見なすことができます。(実際には、これをWPF MVVMアプリケーションとして実行します。)
私の最初のテストがどうあるべきかわかりません。
私がこれまでに試したことは次のとおりです。
一連の従業員を返す従業員リポジトリがあると仮定します。
私が試みた最初のテストは次のとおりです。
[Test]
public void RepositoryShouldReturnTheListOfEmployees()
{
var repository = new EmployeeRepository();
var employees = repository.GetEmployees();
Assert.IsNotEmpty(employees);
}
これから始めて、GetEmployees()メソッドからEmployeeオブジェクトを返し、テストに合格しました。次に、テストに合格したら、EmployeeRepositoryをリファクトしてインターフェイスを実装し、それをテストメソッドで使用しました。
これは非常に簡単な作業であり、このアプローチは私にとってはやり過ぎのようです(少なくとも今のところ)。しかし、アプリケーションが大きくなると、些細なことでもテストがうまくいくと確信しています。
しかし、私のアプローチでは何かが正しくないと感じています。経験豊富なTDDerは同じアプローチに従いますか?またはそれは何でしょうか。また、「従業員の追加」機能に使用できるテストは考えられません。
これらのCRUDシナリオをスキップして、他のより複雑な機能を試してみることができます。しかし、それは正しいアプローチですか?
基本的に、私が今行っているのは、リポジトリのテストドライブです。これは、情報の保持と取得以外には何もしません。これまでのところ、このTDDは、私にとって非常にありふれた作業のように見えました。
すべての入力に感謝します。