実際のクラスをテストできるロジックを持つクラス (たとえば、割引を計算できるクラス) をテストする必要があることは理解しています。
しかし、リポジトリとして機能する (データベースからオブジェクトを取得する) プロジェクトの単体テストを書き始めたところです。ISomethingRepository
インターフェイスを実装する「偽の」リポジトリを作成していることに気づきました。Dictionary<Guid, Something>
内部ストレージに を使用します。Add(Something)
インターフェイスのおよびGetById(Guid)
メソッドを実装します。
なぜ私はこれを書いているのですか?私が書いているものは、ソフトウェアが展開されたときに実際にソフトウェアによって使用されることはありませんよね? この演習の価値がよくわかりません。
また、特定の期待に応えるために事前にセットアップできるモック オブジェクトを使用するようアドバイスも得ました。それは私にはさらに無意味に思えます: もちろん、テストは成功します。私はそれを嘲笑/偽造して成功させました! そして、データベースに接続するときに実際のソフトウェアが正常に動作するかどうかはまだわかりません...
混乱している...
これを理解するのを助けるために誰かが私を正しい方向に向けることができますか?
ありがとうございました!