从自定义 testng 框架启动 spring boot mvc 测试

问题描述

我工作的一位客户要求使用使用 testng 编写的自定义测试框架,该框架允许使用 excel 文件处理不同的参数和测试迭代。

这个框架使用一个主类来处理所有的测试,我们称之为 TestManager。

这个TestManager定义了所有@Before和@After操作,并有一个名为exec()的方法,它被注释为@Test。

方法用于调用测试所需的不同组件,这些组件是java类,实现了包含单个组件逻辑的单个方法exec()。

    public class TestManager {
        // ... Before,After methods
    
        @Test(
                dataProvider = "..."
        )
        public void exec(Parameter[] inParameter) {
            // load parameters...
            foreach component:
                component.exec()
        }
    }
    public class ComponentXYZ {
        public void exec() {
        // load input params
        // Call a microservice and get results,find value on db,selenium operations...
        // unload output params for next components
        }
    }

此框架旨在与 selenium 一起使用,或使用某些 http 请求库测试微服务,并包含在一个独立模块中。

所以我的项目有:

  • Spring Boot 模块
  • 一个测试模块(在我看来)应该依赖于 spring boot 模块

鉴于这种情况,您认为可以在使用此自定义框架的同时使用 WebMvcTest 执行集成测试吗?

我已经尝试了一段时间,但我总是遇到错误,或者我无法@Autowire mockmvc,我似乎无法直接从这个测试框架启动一个最小的 spring 启动实例......

我不认为运行我的 Spring Boot 应用程序并使用 http 调用微服务是正确的测试方法,但目前这是它唯一有效的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)