3

依存性注入は Postsharp では機能しません。アスペクトをテスト可能にするにはどうすればよいですか? 自分のアスペクトにログインするための具体的なクラスを作成することは本当に避けたいです。

メソッドを単体テストしているときにアスペクトを実行したくありません。メソッドをテストしている場合、ログの側面が起動したり、テスト中に具体的なロガーを作成したりしたくありません。

私は Postsharp のアイデアが大好きで、実際に使用したいと思っていますが、これら 2 つの問題が私にとってはあまりにも多くの問題を引き起こしているようです。

何か案は?

4

3 に答える 3

0

さらに良いことに、MSBuild コマンドを使用して、単体テスト プロジェクトで PostSharp を無効にすることができます。このディスカッションを参照してください。

于 2013-02-26T22:40:50.193 に答える
0

log4net などの特定のサードパーティ ツールの場合、構成言語は十分に強力であるため、(たとえば) 単体テスト プロジェクトで 1 つの方法でログの側面を構成し、実際のプロジェクトで別の方法で構成できます。したがって、ロギングの側面は単体テストでも実行されますが、実際に何もしない場合があります。

他のツール、または独自のカスタム ソリューションの場合は、アスペクト ロジック内のインターフェイスにプログラミングすることをお勧めします。次に、静的構成ファイルまたはプロジェクト固有のセットアップ コードに基づいて、実稼働コード用にインターフェイスの 1 つの実装を指定し、単体テスト プロジェクト用に別の実装を指定できます (おそらく、副作用がないか、さらに良いスタブ実装で、何を記録します)。単体テストによる潜在的な検証のために発生した可能性があります)

于 2013-02-26T22:00:56.640 に答える