私はデータベースアクセスを必要とするメソッドを持つ多くのオブジェクトを持っています。私たちは単体テストを目指していますが、可能であればモックオブジェクトの使用を避けたいと考えています。私は、DBアクセスを必要としないように、以下に示すValidateメソッドをリファクタリングする方法があるかどうか疑問に思っています。実際のアプリケーションでは、通常はかなり進んでいますが、この単純化された例で十分であると思います。ユニットテストのためのデータベース依存関係を避けるために
モックオブジェクトは必要な場合に使用する方法を学びますが、オーバーヘッドのように思えるので、代替案を探しています。
public class Person
{
public string Name;
public string Validate()
{
if (PersonDA.NameExists(Name))
{
return "Name Already Used";
}
}
}
「単体テスト」と「統合テスト」の違いと、それらを使用するタイミングと、それらが最適であることを確認してください。 –
私はしばしば、模擬フレームワークhttp://www.unit-testing.net/CurrentArticle/How-To-Remove-Data-Dependencies-In-Unit-Testsを必要としない以下のパターンを使用します。html – T123