39

別のテストクラスで JUnit テストを再利用するにはどうすればよいですか?

例えば:

public TestClass1 {
    @Test
    public void testSomething(){...}
}

public TestClass2 {
    @Test
    public void testSomethingAndSomethingElse() {
        // Somehow execute testSomething()
        // and then test something else
    }
}
4

4 に答える 4

4

これは、異なる構成でテストを実行する場合によくあることです。気にせず、どうぞお進みください。

最初のステップで、構成を考慮せずに独自のテストを作成します。

public abstract BaseTests {
    @Test
    protected void somethingHelper() {
        // Test something
    }
}

次に、テスト クラスを拡張し、構成を追加します。

public TestClass1 extends BaseTests {
    @Before
    public void setup(){
         // TODO: config
    }
}

特定の構成を行う必要はありませんが、構成可能なシステムでは非常に一般的です (システムの主な機能は構成ごとに有効でなければなりません)。

他のテストケースでは:

public TestClass2 extends BaseTests {
    @Before
    public void setup(){
         // TODO: other config
    }
}

たとえば、暗号化>復号化の順序を識別しなければならない暗号化および復号化プロセスが存在する場合があります。一方で、テスト プロセスが独特である場合に使用する別のアルゴリズムがあります。

于 2018-08-15T12:18:08.590 に答える