C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DLLのユニットテストでモックを使いたい。


(過去ログ 43 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■22595 / inTopicNo.1)  DLLのユニットテストでモックを使いたい。
  
□投稿者/ サーマル (1回)-(2008/07/28(Mon) 11:21:31)

分類:[C#] 

VS2008のC#(.Net Framework 2.0)でNUnit/NMockを使用してユニットテストを書いています。
タイプライブラリ内のinternalなInterfaceに対してモックオブジェクトを作成し、ユニットテストを書きたいのですが、
テストプロジェクトでInterfaceのモックを作るためには public Interfaceとして定義しないといけません。
でも、そのInterfaceは外部には公開したくないのでinternalにしておきたいのです。

(COMの互換の無い<Dictionary>もインターフェースに使用しているため、publicでそのInterfaceを宣言するとビルド時にCOM互換性のない型がInterfaceに存在すると言われて怒られます・・・。)

何かよい解決策を知っている方いらっしゃいませんか?


引用返信 編集キー/
■22599 / inTopicNo.2)  Re[1]: DLLのユニットテストでモックを使いたい。
□投稿者/ なちゃ (151回)-(2008/07/28(Mon) 12:16:30)
InternalsVisibleToだったかをつけるか、publicにしてComVisibleだったかをfalseにするか辺りでいけませんかね?

引用返信 編集キー/
■22623 / inTopicNo.3)  Re[2]: DLLのユニットテストでモックを使いたい。
□投稿者/ サーマル (2回)-(2008/07/28(Mon) 17:45:17)
No22599 (なちゃ さん) に返信
> InternalsVisibleToだったかをつけるか、publicにしてComVisibleだったかをfalseにするか辺りでいけませんかね?
>

InternalVisibleToはすでについていました。
公開用メソッドはComVisible = trueにする必要があるため、対策できませんでした。

結局、
#if DEBUG
public interface XXX
#else
internal interface XXX
#endif

とやることで対策しました・・・
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -