DBクエリをラップするクラスがたくさんあります。私は、各クエリをテスト実行し、その結果を確認し、自分のクラスのプライベートメンバーに返すことができるようにしたい。心に浮かぶおそらく野蛮な考え方は、[Fact]
属性を持つXUnitに表示されるpublic SelfTest()
メソッドをクエリラッパーに与えることでした。したがって、私のテストメソッドは、クラスの内部へのアクセスを持ち、DB要求の結果を詳細に検証することができます。SelfTest()メソッドを使ってプライベートメンバーをテストする
私が知っておくべき不幸な結果はありますか?私は自分のDBラッパークラスにパブリックメソッドを追加していますが、このメソッドはダメージを受けません。 XUnitでは私のアプリケーションを別のプロジェクトでテストするのではなく、直接「消耗品」にしていますが、これは無害です。
クエリメソッドを内部として宣言し、それらをアセンブリプロジェクトのinternalsVisibleTo-Attributeを介してテストプロジェクトからアクセスできるようにすることはどうしてですか(https://msdn.microsoft.com/de-de/library/system.runtime)。 (v = vs.110).aspx)? –
良いチップありがとう。全体の話をするには、[私のラッパークラスが生成されます](https://visualstudiogallery.msdn.microsoft.com/eaf390af-afc1-4994-a442-ec95923dafcb)。生成されたクラスに安全にSelfTest()メソッドを含めることができれば、コード生成のために別の場所を管理する必要がなくなり、人生ははるかに簡単になります。トラップはありません。 – bbsimonbb