これらのテストの実行方法について少し混乱します。プライベートクラスをテストするPrivateObject
とプライベート静的クラスをテストするにはPrivateType
の存在について知っていますが、どのようにしてPUBLIC静的クラスのプライベート静的メソッドをテストできますか?私のユニットテストクラスでパブリック静的クラスのC#テストプライベート静的メソッド
public static class Clients {
// CUT
private static List<string> GenerateAddresses(string AppPath) {
// CUT
}
}
は私が
PrivateType testClients = new PrivateType(Clients);
を試してみましたが、私はエラーを取得
「顧客は、指定されたコンテキストでは有効ではないタイプです
エラーはちょっと混乱していて、Googleは完璧に別の問題を引き起こしています。 PrivateType
で「クライアント」が間違っていますか?または、Clients
が公開されているという点で、私は別の方法でテストすべきですか?
'新しいPrivateType(typeof(Clients))'? (サイドノート:プライベートメンバーを直接テストする必要があるのでしょうか?それは、オブジェクトのインターフェイスとその実装に多くの結合を作ります。これはテストには関係ありません)。 – David
コンストラクタには'System.Type'で、型名ではありません。新しいPrivateType(typeof(Clients)) –
PrivateTypeのコンストラクタを表示します。それは何を期待していますか?あなたが現在行っていることは、コンパイラがあなたに言っていることはまったく意味がありません。 – bashrc