0

私はインターフェースを持っています:Show、そして私はShowImplを呼び出す実装クラスを持っています、そしてまた私はManageShowImplを呼び出す実装クラスを持っています。ManageShowImpl 内のすべてのメソッドを完了しました。現在、Junit テストを行っています。たとえば、ManageShowImpl で定義したメソッド: addShows(Show... shows)、今度は show 配列に値を割り当てたい: Show[]、しかしインターフェイス: Show、setter メソッドはありません(これはインターフェイス内では想定されていません)、一部の専門家が Show[] に値を追加する方法を教えてください。

4

2 に答える 2

0

あなたの問題を正しく理解していれば、コンストラクターに値を設定するだけでよいと思います。

public class ShowImpl implements Show{

    private Show[] shows;

    public ShowImpl(Show... shows){
        this.shows = shows;
    }

    @Override
    public void someInterfaceMethod(){
        // ...
    }
}
于 2012-07-05T15:59:49.787 に答える
0

(私はjunit の専門家ではなく、初心者でもありませんが、いくつかの質問に答えるように促すことができるかもしれません。かなりの量のテストを行いました。)

コンストラクターを持つクラスがあれば、いつでもインスタンスを作成し、必要なデータを入力して、必要な方法でテストできます。インターフェイスははるかに制限されています。テストは別として、これは非常に良いことです。インターフェイスの実装を手に入れた場合に誰かができる損害を制限します。データを安全にカプセル化します。ただし、インターフェイスを単独でテストすることはできません。最初に実装クラスのインスタンスを作成する必要があります。その時点で、配列に入力する必要があります。 次に、それをインターフェイス インスタンスとしてテスト メソッドに渡し、インターフェイスをテストします。

于 2012-07-05T20:32:42.063 に答える