私と同僚は議論をしています。私たちはひどいレガシープロジェクトに取り組んでおり、受け入れテストを徐々に追加しています。彼は、私たちがgui / watinで作業を行い、次に低レベルのライブラリを使用してデータベースに直接クエリを実行し、「エンドツーエンド」テストを取得する必要があると考えています。
私たちはNHibernateを使用しており、受け入れテストでアサーションを実行するためにgui/watinを使用してからそれらのnhibernateオブジェクトを使用することを推奨しています。彼はテストでのNHibernateの依存を嫌います。私の主張は、NHibernateオブジェクトに対して統合テストを実行して、意図したとおりにDBで動作していることを確認する必要があるというものでした。その時点で、適切な動作をアサートするための受け入れテストでそれらを使用することにマイナス面はありません。また、彼の低レベルのSQL依存性により、テストが脆弱になり、多くの場合、ビジネスロジックが重複すると思います。
当店での統合テストとは、基本的に、fileRepository / FileSystem Domain-NhibernateObject/Databaseなどの依存関係を持つ単一のコンポーネントを意味します。受け入れテストとは、GUIを介して参加することを意味します。ユニットとは、すべての依存関係がモックアウト/スタブアウトされ、メモリ内に純粋なテストがあり、テスト対象のメソッドのみが実際に実際の作業を実行していることを意味します。デフがオフになっているかどうか教えてください。
とにかく、あなたが私に指摘することができるこの主題についての意見を持つどんな記事/ドキュメント/羊皮紙もいただければ幸いです。