2

次の問題: 単体テストでモッキング ライブラリ Moq を使用します。したがって、DynamicProxyGenAssembly2 に InternalsVisibleTo 属性があります。さらに、アセンブリを難読化します。ここで問題が発生します。DynamicProxyGenAssembly2 により、すべての内部インターフェイスとクラスが難読化されなくなりました。

私が読んだ限りでは、ほとんどのモッキング ライブラリはこの DynamicProxyGenAssembly2 を使用しています。そうでなくても、InternalsVisibleToなしで内部インターフェースをモックできるモックライブラリがあるとは思いません。

あなたの誰かが同じ問題を抱えていて、どのように解決しましたか. モックと難読化を使用したい - これは可能ですか?

よろしく、ユグドラシル。

編集

モック アセンブリがオープン ソースであり、これらのインターフェイスへのアクセスを再び必要とするサード パーティのアセンブリを中継しない場合は可能です。ビルド プロセスにモック アセンブリを含めることができるよりも、アセンブリと一緒に難読化されます。そのようなオープンソースのモックシステムはありますか?

4

1 に答える 1

2

たぶん、2つのビルド構成を持つことができます。1つは単体テスト用に難読化されておらず、もう1つはすべてのセキュリティ機能を備えたリリース構成です。InteralsVisibleTo属性は、最初の構成にのみ必要です。

于 2013-03-11T13:00:51.460 に答える