junit为每个用户请求动态添加更多测试类(重新运行测试)以进行集成测试

时间:2016-11-04 16:36:53

标签: spring junit integration-testing

我正在寻找一种方法来启动spring上下文,初始化所有缓存,然后在命令行(cmd)上询问用户要执行的测试。

运行测试后,用户可以选择重新运行测试或运行不同的测试,直到他决定停止该程序。

这应该基于junit,因为它使我们能够在不同的执行环境中使用相同的测试(例如jenkins build,...)

是否有一个支持此类或其他任何其他方式的框架如何实现此目标?

while(true) {
  userInput = parseUserInputFromConsole();
  if (userWantToExit(userInput)) {
    break;
  } else {
    JunitResult = runJunitTetsBasedOnUserInput(userInput);
    generateTestRunReport(JunitResult);
  }
}

另外,一个测试存在多于一步,但这些步骤应该可以在测试中重复使用。任何想法如何实现这个?

1 个答案:

答案 0 :(得分:0)

您可以使用Spring @ActiveProfiles注释来执行此操作,您需要基本设置哪些测试适用于以下运行:

@ContextConfiguration
@ActiveProfiles({"dev", "integration"})
public class DeveloperIntegrationTests {
    // class body...
}

您可以查看here