每次构建都运行单元测试但完全跳过集成测试阶段是否明智 - 将其留给 CI 服务器?
目前我正在开发一个 JavaEE 项目,该项目几乎只包含一些集成测试,这些测试写得不好并且需要很多时间。每次我进行任何更改时,我都必须等待几分钟才能构建(大约 90% 的时间是这些集成测试)。
我的想法是配置一些 CI 服务器,例如 Jenkins,以便它可以获取对存储库的任何提交(或者在 maven 构建之后更好)并运行带有集成测试的 maven 构建。但是是否可以配置 maven,当我输入mvn install
它时,它会编译-运行单元测试-构建项目,但完全省略集成阶段(以加快开发速度)。然后 CI 会重新开始并开始运行构建,但这一次集成测试到位了吗?
这样,更改一些代码和部署之间的时间会更短,也不会那么令人沮丧,并且任何与集成相关的错误都将在 CI 服务器完成构建后的几分钟内被缓存起来。
这是一个好主意吗?谁能建议如何配置 Maven 来获得这种行为?