9

Junitで保護されたメソッドを処理するための良い方法について疑問に思っています。

保護されたメンバーとコンストラクターを持つAというクラスをテストしたいとします。クラスをテストするには、AIがTestCaseを拡張する可能性のあるATestという別のクラスを作成する必要があることを理解しました(これはJunit3では必須です)。保護されたメソッドをテストしたいので、Aには保護されたコンストラクターがあるため、テストクラスATestは、そのクラスを作成してメソッドにアクセスできるようにするために、そのメソッドが実装されているクラスAも拡張する必要があります。

両方のクラスからの二重継承が良い解決策になる可能性がありますか?

PS Junit 4では、TestCaseからの継承が回避される可能性があることはすでに知っています。

4

2 に答える 2

17

の保護されたメンバーにアクセスするには、同じパッケージにA入れるだけです。AATest

于 2012-10-12T00:12:41.997 に答える
1

Javaでは、実装の多重継承は許可されていません。複数のインターフェースを実装できます。

リフレクションを使用して、クライアントに知られたくないテスト方法を取得したいと思います。プライベートメソッドでも機能します。

于 2012-10-12T00:00:20.067 に答える