2016-04-28 8 views
0

このフォーラムから以下のメソッドを取得しましたが、私はjunitテストを書く方法について頭を悩めることはできません。私はフォーラムで回答を探しましたが、具体的なものは見つかりませんでした。うまくいけば誰かが知っていますか?私はこれが動作するためにはCMDを初期化する必要がありジェネリックを使用したメソッドの単体テスト

@Test 
public void testIfBackupCommandIsChildOfCommand() { 
    Class<? extends Command> cmd ; 

    assertThat(expected, (Matcher) org.hamcrest.Matchers.instanceOf(cmd)); 
} 

:私はのような何かをしようとしていますhamcrestで

public String replaceName(Class<? extends Command> cmd) { 
String str = cmd.getSimpleName().replaceAll("Command$", ""); 
} 

これが私の方法です。私はそれを行う方法がわかりません。 nullに初期化すると、NPEを取得します。

答えて

0

この一般的な意味は、Commandクラスを拡張するすべてのクラスをパラメータとして渡すことを意味します。 Commandクラスを拡張するクラスを作成するか、既存の実装を使用する必要があります。私は、Commandクラスがあなたのケースにあるかどうか、それが具象クラスか抽象クラスか、あるいは既存の実装があるかどうかはわからないので、より多くの情報なしには何も提案することはできません。

私が述べたように、あなただけの独自のクラスを作成して、しかし、それを使用することができる場合があります

class MyClass extends Command { 
    public MyClass() {} 

    public void implementedMethod() {} 
} 
関連する問題