java - 在已部署的 Java EE 环境上进行自动化集成测试?

标签 java spring unit-testing jakarta-ee

我们的团队目前正在向部署在 Weblogic 上的现有 Java EE Web 应用程序引入自动化测试。我们已经使用 JUnit 和 Mockito 成功进行了单元测试,当我们的应用程序由 Jenkins 构建和部署时,它们会自动运行。

集成测试更具挑战性,因为我们的应用程序依赖于 Java EE 容器(例如 WorkManager)提供的组件。有几个 Spring bean 需要这些组件才能正确初始化。我们能够解决这个问题的一种方法是创建自定义应用程序上下文配置文件,该文件创建我们实际上不需要测试但仍然需要初始化 bean 的组件的模拟。这在某种程度上是一个维护噩梦,因为每个集成测试都需要它自己的配置,并且有些可能非常复杂。

我们真正想要的是在运行集成测试时能够使用部署环境中使用的正常配置来初始化整个应用程序。有没有办法让集成测试在通过 Jenkins 或其他工具部署后自动执行?

最佳答案

您可能需要检查Arquillian ,它可以在您的容器中运行测试。即使是远程的。

我引用:

No more mocks. No more container lifecycle and deployment hassles. Just real tests!

关于java - 在已部署的 Java EE 环境上进行自动化集成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12960094/

相关文章:

java - InputStream 到 servletInputStream

java - 在此示例中使用反射是否合适

java - 设置自动冲洗 Spring JPA

java - Neo4J:无法从具有多个元素的 Iterable 中提取单个值

delphi - 使用 FinalBuilder 和 AQTime 获取 DUnit 测试覆盖率统计信息

java - 使用多个 if else 和 for 语句重构方法

java - Android WebView 中的上传按钮不起作用

spring - 使用 @PropertySource 注释时未解析 @Value。如何配置 PropertySourcesPlaceholderConfigurer?

python - PyUnit 拆解和设置与 __init__ 和 __del__

python - django-pytest setup_method 数据库问题