如何对 CDI 运行时故障进行 jenkins 测试?

斯乔德·哈肯斯

介绍

对于我正在处理的(学校)项目,我们必须开发一个中型 Java 应用程序,在我们的案例中使用 javaFX 和 java CDI 依赖注入,我们有一个基于 groovy 文件的脚本化 jenkins 管道,该文件检查每个拉取请求以便分支不符合质量要求或失败的建筑不能合并。

问题

现在我们遇到的问题是,目前只有 25% 的开发人员实际运行应用程序来测试他们的添加是否有效,因为该项目还处于早期阶段,我们目前正在开发的许多功能还没有被 GUI 使用. 其他 75% 的开发人员使用 JUnit 单元测试和集成测试来检查他们的代码是否有效。虽然我们可以尝试说每个人都需要在发出拉取请求之前运行实际的应用程序,以检查 java CDI 依赖注入是否没有运行时错误。人就是人,并不总是倾听,所以我们经常将代码进行开发,这些代码在 maven 上成功,但由于依赖注入问题而无法运行。

问题

在 jenkins 构建中检查是否存在将弹出运行时的 java CDI 依赖项注入问题的最简单方法是什么?

边注

我们已经使用 JUnit,但目前并非所有测试都使用焊接注入进行测试,如果有可能进行单个测试来检查所有依赖注入问题,这些问题也可以代替基于 jenkins 的解决方案。

狼疮

您的 CI(持续集成)方法很好。测试所有 PR 是一种方法,你只需要决定应该执行什么样的测试。JUnit 风格,还是集成测试?也许两者都有?

CDI 本身有一个部署验证阶段,在该阶段它会在引导时检查一切是否正常——bean 是否具有钝化能力(那些应该),是否可以满足所有声明的注入点等等。这可以在运行时捕获许多用户错误,因此只需部署应用程序即可显示它。您可以并且应该使用 Arquillian 来设置一个与实际运行时环境非常相似的测试环境。请注意,此验证(实际上没有验证)无法检查动态解析错误。例如,当您使用Instance<Object>然后尝试解析不存在的 bean 时不进行检查。

如果这不是您想要的,那么您可以考虑weld-junit extension这利用了 junit(4 或 5)来引导 Weld SE 容器,您可以在其中玩弄您的 bean 并测试它们。查看项目中的自述文件和测试以获取示例。这并不反映纯粹的 EE 环境,而是更像是一种带有 CDI 的 junit 风格测试,并且易于上手。

请注意,使用 Jenkins,您可以为每个 PR 设置多个任务。例如,您可以让它运行所有 JUnit 测试以及所有集成 (Arquillian) 测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过Spock测试进行CDI / SE?

来自分类Dev

如何通过Spock测试进行CDI / SE?

来自分类Dev

如何使用welse-se对CDI进行单元测试?

来自分类Dev

如何在 Quarkus 中覆盖 CDI bean 进行测试?

来自分类Dev

如何使用Jenkins运行XUnit测试

来自分类Dev

如何使用Jersey测试框架启用CDI?

来自分类Dev

Selenium测试在由Jenkins运行时失败,但在命令行运行时成功

来自分类Dev

Selenium测试在由Jenkins运行时失败,但在命令行运行时成功

来自分类Dev

Android运行时权限-如何测试UI

来自分类Dev

如何通过Mocha测试运行时参数?

来自分类Dev

测试异步运行时如何使用sinon沙箱?

来自分类Dev

如何通过Mocha测试运行时参数?

来自分类Dev

在 Spring 中以测试模式运行时如何禁用方法?

来自分类Dev

如何在Jenkins上运行Selenium / WebDriver测试?

来自分类Dev

如果没有运行测试,如何使Jenkins构建失败?

来自分类Dev

如何配置Jenkins运行1个硒测试用例

来自分类Dev

如何让Jenkins运行我的Maven / Selenium GitHub测试

来自分类Dev

如何配置Jenkins运行1个硒测试用例

来自分类Dev

如何确定是否在 Jenkins 上运行了 TestNG 测试?

来自分类Dev

如何为CDI编写Junit测试用例?

来自分类Dev

如何为CDI编写Junit测试用例?

来自分类Dev

Jenkins:Jenkins未运行TestNG测试

来自分类Dev

使Jenkins自动运行失败的测试

来自分类Dev

Jenkins使用ranorex进行测试

来自分类Dev

在docker-selenium中测试可以在本地运行时下载文件,但不能在Jenkins上运行

来自分类Dev

作业运行时,Jenkins是否会进行“ SCM投票”?

来自分类Dev

在python中对运行时间进行基准测试

来自分类Dev

测试前如何更新Jenkins实例?

来自分类Dev

如何在Jenkins中集成Monkeyrunner测试?

Related 相关文章

  1. 1

    如何通过Spock测试进行CDI / SE?

  2. 2

    如何通过Spock测试进行CDI / SE?

  3. 3

    如何使用welse-se对CDI进行单元测试?

  4. 4

    如何在 Quarkus 中覆盖 CDI bean 进行测试?

  5. 5

    如何使用Jenkins运行XUnit测试

  6. 6

    如何使用Jersey测试框架启用CDI?

  7. 7

    Selenium测试在由Jenkins运行时失败,但在命令行运行时成功

  8. 8

    Selenium测试在由Jenkins运行时失败,但在命令行运行时成功

  9. 9

    Android运行时权限-如何测试UI

  10. 10

    如何通过Mocha测试运行时参数?

  11. 11

    测试异步运行时如何使用sinon沙箱?

  12. 12

    如何通过Mocha测试运行时参数?

  13. 13

    在 Spring 中以测试模式运行时如何禁用方法?

  14. 14

    如何在Jenkins上运行Selenium / WebDriver测试?

  15. 15

    如果没有运行测试,如何使Jenkins构建失败?

  16. 16

    如何配置Jenkins运行1个硒测试用例

  17. 17

    如何让Jenkins运行我的Maven / Selenium GitHub测试

  18. 18

    如何配置Jenkins运行1个硒测试用例

  19. 19

    如何确定是否在 Jenkins 上运行了 TestNG 测试?

  20. 20

    如何为CDI编写Junit测试用例?

  21. 21

    如何为CDI编写Junit测试用例?

  22. 22

    Jenkins:Jenkins未运行TestNG测试

  23. 23

    使Jenkins自动运行失败的测试

  24. 24

    Jenkins使用ranorex进行测试

  25. 25

    在docker-selenium中测试可以在本地运行时下载文件,但不能在Jenkins上运行

  26. 26

    作业运行时,Jenkins是否会进行“ SCM投票”?

  27. 27

    在python中对运行时间进行基准测试

  28. 28

    测试前如何更新Jenkins实例?

  29. 29

    如何在Jenkins中集成Monkeyrunner测试?

热门标签

归档