首页 > 解决方案 > 如何在 Selenium TestNG 环境中初始化 Spring 应用程序上下文文件

问题描述

如何在 Spring 5 的 Selenium TestNG 环境中初始化 Spring 应用程序上下文文件?

我尝试了以下代码,但它使用的是 classpathapplicationcontext,因此每次构建都会删除应用程序上下文文件。

 public class SpringInitManager {
        private ClassPathXmlApplicationContext ctx;

    public void init() {// "classpath:applicationContext.xml"
        setCtx(new ClassPathXmlApplicationContext("classpath:applicationContext.xml"));
    }
    // 
    public ClassPathXmlApplicationContext getCtx() {
        return ctx;
    }
    // 
    public void setCtx(ClassPathXmlApplicationContext ctx) {
        this.ctx = ctx;
    }
}

它适用于 Eclipse,但不适用于 IntelliJ。

标签: javaspringmavenintellij-idea

解决方案


据我了解你的问题,没有测试代码片段,你应该改变测试类如下:

@ContextConfiguration("classpath:applicationContext.xml")
public class TestNGSpringTest extends AbstractTestNGSpringContextTests {
   //testNG test methods...
}

AnnotationContextConfiguration配置如何为集成测试加载 Spring 上下文,并且 AbstractTestNGSpringContextTests类将 Spring TestContext 框架与ApplicationContextTestNG 环境中的显式测试支持集成在一起。


推荐阅读