单元测试(三)JUnit 进阶功能:Suites 打包测试、Categories 分类测试

  • Post author:
  • Post category:其他


如果你的 JUnit 仍未入门,可以查阅

https://my.oschina.net/tridays/blog/815586

来学习。

打包测试

针对需要打包多个测试类,一次执行的情况,JUnit 提供了

Suite

Runner。

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({A1Tests.class, A2Tests.class}) // A1Tests, A2Tests 是两个测试类
public class ATests {
}

分类测试

针对打包时只想执行部分测试样例的情况,JUnit 提供了

Categories

Runner。

public interface FastTests { }
public interface DetailTests { }

public class A {
    [@Test](https://my.oschina.net/azibug)
    public void a() {
        Assert.fail();
    }

    @Category(DetailTests.class)
    [@Test](https://my.oschina.net/azibug)
    public void b() { }
}

@Category({DetailTests.class, FastTests.class})
public class B {
    [@Test](https://my.oschina.net/azibug)
    public void c() { }
}

@RunWith(Categories.class)
@IncludeCategory(DetailTests.class)
@SuiteClasses({ A.class, B.class })
public class SlowTestSuite {
    // 将会执行 A.b、B.c,不执行A.a
}

@RunWith(Categories.class)
@IncludeCategory(DetailTests.class)
@ExcludeCategory(FastTests.class)
@SuiteClasses({ A.class, B.class })
public class DetailTestSuite {
    // 将会执行 A.b,不执行 A.a、B.c
}

如欲集成 Maven 或 Gradle,参阅

https://github.com/junit-team/junit4/wiki/Categories


转载于:https://my.oschina.net/tridays/blog/815761