小编Mir*_*cea的帖子

使用Web服务器运行集成测试的最佳方法是什么?

正如标题所说,我对使用Jetty Web服务器测试应用程序的最佳方法感兴趣,同时考虑到您不想为每个特定测试启动/停止测试服务器.

据我所知,这些是解决方案:

  1. 如果您使用像Maven或Gradle这样的构建工具,则可以在*.pom*.gradle文件中执行此操作.

    • 这样做的缺点是您必须以通常在应用程序中执行的方式创建测试服务器.
  2. 创建测试套件并使用@BeforeClass@AfterClass注释在测试之前/之后启动/停止服务器Suite.

    • 这里的缺点是指定要运行的测试的"丑陋"方式.您还必须指定添加到套件中的测试,它不应该在套件外部运行(避免重复运行测试).我认为Junit还没有完全适应这一点.
  3. 在测试开始时以静态方式创建和启动服务器,并使用该ShutDown机制挂接JVM并在完成所有测试后自动停止服务器.这似乎是最好的解决方案,因为这种机制已经在Jetty中可用,但是

    • 缺点是您无法控制服务器的停止.它实际上是在完全不同的线程中完成的,甚至在构建工具之外(我使用Gradle)

java testing junit jetty gradle

4
推荐指数
1
解决办法
1218
查看次数

标签 统计

gradle ×1

java ×1

jetty ×1

junit ×1

testing ×1