2017-09-04 3 views
1

私はいくつかのユニットテストを行っています。タイプPrincipalSearchResult<Principal>のテストコレクションを作成する必要があります。このコレクションは通常、メソッド呼び出しUserPrincipal.GetAuthorizationGroups()を使用すると返されます。PrincipalSearchResult <Principal>コレクションをどのように動的に設定しますか?

このタイプは、System.DirectoryServices.AccountManagementネームスペースの一部で、MicrosoftのActive Directoryを照会するためのコードが格納されています。

私は単純なような新しいコレクションを作成しようとすると、私はエラーを取得:

PrincipalSearchResult<Principal> restResult = new PrincipalSearchResult<Principal>(); 

Error message: PrincipalSearchResult<Principal> does not contain a constructor that takes 0 arguments.

をしかし、ときにパラメータかを示すNEWINGアップコレクション、私は任意のインテリセンスが届きませんコンストラクタを渡します。

どのようにしてこのタイプを作成して入力できますか?

+2

'PrincipalSearchResult'には公的に利用可能なコンストラクタがありません。そのクラスは通常内部的にクラスを初期化する検索から返されます。期待される結果の型を 'IEnumerable 'に抽象化して、テスト時に模擬するのがより簡単になるようにすることをお勧めします。 – Nkosi

+1

はい、@ Nkosiのように、利用できるコンストラクタはありません。あなたはモーキングのためにIEnumerable を作成する必要があります。 –

答えて

1

コメントに記載されている提案に続いて、PrincipalSearchResult<Principal>タイプのキャストをIEnumerable<Principal>に返してラッピングメソッドを作成しました。

関連する問題