将上下文从TestSuite传递到JUnit测试类

时间:2018-02-07 03:27:33

标签: java junit junit4 junit5

我有以下要求:

  • 创建一个TestSuite类,初始化所有测试类所需的一些变量。
  • 将此变量传递给所有类。

所以,我创建了以下TestSuite类:

@RunWith(Suite.class)
@SuiteClasses({ //
    LoginCommandTest.class //   
})
public class GameTestSuite {
  private static Vertx vertx;

  @BeforeClass
    public static void setUp() throws IOException
      vertx = ....
       ...
    }
}

和测试类

public class LoginCommandTest {

  @Test
  public void testLogin() {
    vertx.someMethod();
    ...
  }
}

如何将vertx @BeforeClass中初始化的GameTestSuite传递给LoginCommandTest ??

2 个答案:

答案 0 :(得分:1)

如果您使用JUnit 5,请查看此项目,它将vert-x与Jupiter集成:https://github.com/vert-x3/vertx-junit5它实现了一个扩展,它关注为每个测试创建和提供(共享的)vert-x上下文容器或方法。

如果它不符合您的需求,请滚动您自己的专用扩展程序。详情请见https://junit.org/junit5/docs/current/user-guide/#extensions

答案 1 :(得分:0)

这很难看但你可以使vertx公开或受保护并从LoginCommandTest访问它,就像任何其他静态变量GameTestSuite.vertx一样。