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



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

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

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

是否有一个框架支持这样的东西或任何其他建议如何实现这一点?

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

另外,一个测试存在多个步骤,但是这些步骤应该在测试之间重用。任何想法如何实现这一点?

您可以通过使用Spring @ActiveProfiles注释来做到这一点,您需要基本设置哪些测试适用于哪些运行,如下所示:

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

你可以看这里

最新更新