2017-10-16 8 views
3

私が働いているコードでは、私はこのような呼び出しがある一つの方法をテストするために強制しています呼び出しが行われたときに自分の選択したアセンブリがthis.GetType().Assemblyから取得されるように、この呼び出しを疑似します。 hereを説明したアセンブリで
は、私はシムを使用している私は(まだ成功せずに)しようとしている私の主張C#がthis.GetTypeを嘲笑する方法()アセンブリ

アプローチのために使用する偽の種類が存在します。

私の目標を達成する方法はありますか?

最後に、これは単体テストを行う正しい方法ではないことにご注意ください。通常、私がテストするクラスは依存性を使って作られているので、簡単に嘲笑することができます。これはソリューション全体でCunsomer-Driven Contractsの実装であるため、例外であり、変更することはできません。

+0

あなたはそのコードをリファクタリングする立場にいますか? – Nkosi

+0

@Nkosi no :(もし私がいたら、私はすでにそれをやっただろう:) – user449689

答えて

5

テスト中のコードを変更できない場合は、TypeMockまたはJustMockのようなフレームワークを使用できます。これらのフレームワークはプロファイラフックを使用するため、作成されたすべての関数呼び出し、サードパーティのライブラリへの呼び出しさえもリダイレクトできます。

これにより、ゲッターの呼び出しをthis.GetType().Assemblyにリダイレクトして、プリセットのアセンブリリストを返すことができます。

関連する問題