1

開発中のクラスの単体テストの作成に取り組んでいます。別の開発者は、自分が開発しているメソッドについて、同じクラスの他のテストを開発しています。したがって、私たちのテストは同じJUnitテストクラスに含まれています。

ですから、私がやりたかったのは、一時的な手段として開発している間、自分のテストだけを実行するようにテストスイートをセットアップすることでした。テスト用のカテゴリを作成し、そのようにマークしました。次に、テストスイートとなるクラスを作成しました。このカテゴリに属する​​テストを含めるように指示しました。私がそれを実行するとき、それはまだすべてを実行します。テストはたくさんあるので、実行したくないすべてのテストを@Ignoreでマークするのは面倒です。カテゴリ内のテストのみを実行し、他のテストは実行しないと言う方法はありますか?

4

2 に答える 2

0

独自の「org.junit.runner.RunWith」を実装してから、必要に応じてテストクラスに注釈を付けて使用できると思います。

    @RunWith(MyRunnerClass.class)

注:ここでの正しい解決策は、コードブランチなどに関する上記のコメントにあります。

于 2013-02-07T16:05:52.867 に答える
0

メソッドがメインテストクラス(メソッドのみ)を呼び出すラッパーテストクラスを記述してから、ラッパークラスでJUnitテストを実行できます。

public class MainTestClass {
    @Test
    public void yourFirstTest() {
    ...
    }

    @Test
    public void yourSecondTest() {
    ...
    }

    @Test
    public void otherFirstTest() {
    ...
    }
}

public class WrapperTestClass {
    @Test
    public void yourFirstTest() {
       new MainTestClass().yourFirstTest();
    }

    @Test
    public void yourSecondTest() {
       new MainTestClass().yourSecondTest();
    }
}
于 2013-02-07T16:06:39.193 に答える