単体テスト(nUnit)があります。メソッドがユニットテストを介して実行されている場合、コールスタックの多くの層でメソッドが失敗します。
理想的には、モックのようなものを使用して、このメソッドが依存するオブジェクトをセットアップしますが、これはサードパーティのコードであり、多くの作業なしではそれを行うことはできません。
nUnit固有のメソッドをセットアップしたくありません。レベルが多すぎて、単体テストを行う方法としては不十分です。
代わりに、私がしたいことは、このようなものをコールスタックの深いところに追加することです
#IF DEBUG // Unit tests only included in debug build
if (IsRunningInUnitTest)
{
// Do some setup to avoid error
}
#endif
では、IsRunningInUnitTestの書き方について何かアイデアはありますか?
PS私はこれが素晴らしいデザインではないことを完全に認識していますが、私は代替案よりも優れていると思います。