【问题标题】:How to execute scripts before and after SureFire test phase如何在 SureFire 测试阶段前后执行脚本
【发布时间】:2018-07-25 21:01:27
【问题描述】:

当我调用mvm test 时,我想在调用Surefire JUnit 之前执行setup.sql 脚本,然后再执行teardown.sql 脚本。

我从questions like this 知道如何在测试阶段执行脚本,但我不知道如何定义这个特定的事件序列。谢谢!

【问题讨论】:

  • 听起来不像单元测试,更像是集成测试,这意味着使用与 JUnit 不同的东西并通过 maven-failsafe-plugin 运行 ...除此之外,您可以使用 sql-maven-plugin

标签: maven junit maven-surefire-plugin


【解决方案1】:

不是使用surefire插件,而是使用它的兄弟failsafe插件。它们都执行测试,但处于不同的生命周期阶段。测试中的万能插件和集成测试中的故障安全插件。请参阅life-cycle phasesdefault plugin bindings

在集成测试阶段运行故障保护插件的优点是有前阶段和后阶段。

既然你提到了一些 sql 脚本,你似乎想准备一个数据库。那时,您实际上不再是在进行单元测试,而是在编写集成测试。所以在这里使用故障保护插件是最有意义的。

【讨论】:

  • 完全同意。故障安全插件与通过类别从集成测试中分离单元看起来像是最佳实践解决方案。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-02-11
  • 1970-01-01
  • 2016-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-25
相关资源
最近更新 更多