ユニットテストを内部クラスに書き込む方法???内部クラスをテストする
答えて
トップレベルのクラスの外部インターフェイスの動作を指定するテストを記述します。そのクラスがその動作を実装するために内部クラスを使用するかどうかは、クラスの実装の詳細であり、テストではそのことについて何も知る必要はありません。
内部クラスをトップレベルクラスのインターフェイスで適切にテストできない場合は、内部クラスを移動して、新しいトップレベルクラスとして直接テストすることをお勧めします。内部クラスをテストしたいのは、内部クラスが最上位クラスになるためには十分に重要であるという匂いです。
ユニットテストにMS Visual Studioを使用する場合は、単にprivate Accessorを作成する必要があります。内部的には、それは私の思うような反射で動作します。生成されたコードを見てみましょう。
あなたは直接テストしません。クラスが定義されているクラスを通してテストされます。
TDDを適用すると、この質問タグが現在暗示しているように、内部クラスの呼び出しを書くだけのテストは何ですか?私はそれがあなたが取り組んでいるクラスによって個人的に所有されている標準クラスではないことを意味しますか?
リフレクションを使用して内部クラスのメソッドをロードして呼び出すヘルパークラスを使用しました。最も重要な機能やビジネス要件であるしかしエスコLuontolaの答えは、より正確であるDEBUGシンボル例えば
#if DEBUG
public
#else
internal
#endif
class MyInternalClass
{
...
}
を使用して、コンパイル時に、アクセシビリティを変更することも可能です。重要なリスク領域をテストするのではなく、コードカバレッジに集中するのは簡単です。
私はそれをお勧めしますが、InternalsVisibleToAttributeも使用できます。
はあなたがこれをお勧めしませんが、あなたは、あなたがこのような何かを解決する方法を言うhttp://msdn.microsoft.com/en-us/library/bb385974.aspx
リンクされたページは使用できなくなりました – Catch22
- 1. EasyMockを使用して内部クラスをテストする方法
- 2. ユニット内部コンストラクタを持つクラスをテストする
- 3. 外部クラスにアクセスする内部クラス
- 4. 他の内部クラスの内部クラスをインスタンス化する方法
- 5. テスト済みクラスの内部オブジェクトをアサートします
- 6. NUnitでプライベートメソッドと内部クラスをテストしますか?
- 7. mockitoを使った抽象匿名クラス内部のテストvoidメソッド
- 8. 内部クラスライブラリをテストするには?
- 9. は内部クラス
- 10. 内部クラス
- 11. は、内部クラス
- 12. パイソン - 内部クラス
- 13. publicな内部クラスをテストする必要がありますか?
- 14. Python - 他の内部クラスの内部クラスを参照
- 15. テスト内のUIテスト機能クラス
- 16. C#の内部クラス
- 17. のJava - 内部クラス
- 18. 匿名内部クラス
- 19. 準プライベート内部クラス
- 20. ベクトル内部のクラス
- 21. Javaの内部クラス
- 22. スカラの内部クラス
- 23. クラス内部構造
- 24. Molesと内部クラス
- 25. Javaの内部クラス
- 26. Easymock - 内部クラス/インタフェースをモックする
- 27. CRTPで内部クラスを使用する
- 28. パッケージと内部クラスをロードする
- 29. 内部クラスをRhinoMockでモックする
- 30. 電子、内部パッケージとテスト
から詳細な説明を参照してください? http://stackoverflow.com/questions/15440935/how-to-test-internal-class-library –
@トーマス:彼の答えはエスコの状態とまったく同じです。間接的に内部APIをテストするか、内部APIを公開して直接テストします。 –