ますます大きくなるプロジェクトがあり、このプロジェクトで別の人が私を助けてくれるので、私は私たちの会社で正式なユニットテストを紹介し始めています。だから私は彼がしていることがすべてを壊さないこと、そしてその逆ではないことを確認する必要があります。
CIサーバーも紹介したいのですが、これは他の質問のトピックになります。さて、質問は次のとおりです。私は現在「The Art Of Unit Testing」(これは提案された傑作です!)を読んでおり、著者が強調しているのは、ユニットテストは統合テストとは異なるということです。それは私には明らかであり、私がよく理解していれば、ビジネスロジックの単体テストはデータベース接続などに依存することを避ける必要があります。まず第一に:私は正しいですか?
それで、私が正しいと仮定すると(つまり、BLLを単体テストするときに、データベースをスタブ化する必要があります)、どのように実行しますか?dbモッキング用のフレームワークがあることを読みました。これらのいずれかを使用する必要がありますか?どちらを使いますか?
次の質問:これが正しい方法だと本当に思いますか?つまり、私のプロジェクトでは、BLはEntityFrameworkを介してデータベースとインターフェイスします。したがって、たとえば、私のBLLのメソッド "UpdateItem"が呼び出されると、それは何かを実行してからObjectContextを保存します。このObjectContextは、BLで削除する必要のあるEntityFrameworkの依存関係です。しかし、私はそのような方法で何をテストする必要がありますか?DALを一緒にテストせずにBLレイヤーのユニットテストを本当に理解することはできません...いくつか例を教えてください。
あなたの努力に感謝します!
マルコ