首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arquillian 7嵌入式-模拟@配置类

Arquillian 7嵌入式-模拟@配置类
EN

Stack Overflow用户
提问于 2015-08-11 14:03:57
回答 1查看 231关注 0票数 1

我正在开发一个多模块的maven项目,并试图将arquillian集成到其中,以简化开发和创建一些集成测试。我正在使用Tomcat 7嵌入式,我已经到了每样东西都能工作的地步。现在,我想要一个被注入到服务中的类被模拟。当我调试(使用Intellij )时,一切看起来都很好.我的test @Configuration类(ApplicationConfig2)被添加到WAR中,它注入了一个虚拟对象,该对象后来被服务使用。问题是当使用maven (清洁安装)运行相同的测试时,它告诉我发生了一个错误。以下是我的部署:

代码语言:javascript
复制
@Deployment(testable = false)
public static WebArchive createTestArchive() {
    File[] files = Maven.resolver()
            .offline()
            .loadPomFromFile("pom.xml")
            .resolve("org.glassfish.jersey.containers:jersey-container-servlet-core:2.6",
                    "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.3.1"
            )
            .withTransitivity()
            .asFile();

    return ShrinkWrap
            .create(WebArchive.class, "ROOT.war")
            .addClass(Controller.class)
            .addClass(Service.class)
            .addClass(SomeObjectInterface.class)
            .addClass(MockedSomeObjectImpl.class)
            .addClass(MyApplication2.class)
            .addClass(ApplicationConfig2.class)
            .addClass(MyWebAppInitializer2.class)
            .addAsLibraries(files)
            .setWebXML("in-container-web.xml");
}

下面是我在测试中使用的web应用程序初始化器:

代码语言:javascript
复制
@Order(Integer.MIN_VALUE)
public class MyWebAppInitializer2 implements WebApplicationInitializer {...}

我还有一个名为MyWebAppInitializer的名字,它被“真正的”WAR模块使用。

我得到的错误是:

代码语言:javascript
复制
INFO: Spring WebApplicationInitializers detected on classpath: [foo.MyWebAppInitializer@1e194cf1, foo.MyWebAppInitializer2@f0a71a7, org.glassfish.jersey.server.spring.SpringWebApplicationInitializer@76ab92a7]
Aug 11, 2015 4:50:34 PM org.apache.catalina.core.ApplicationContext log

因此,由于某种原因,即使我没有将类MyWebAppInitializer包含在web存档中,它似乎也是由Tomcat加载的。我正在检查生成的WAR包,唯一出现的类是MyWebAppInitializer2 (测试类),而不是MyWebAppInitializer。

我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-02 12:40:19

据我所知..。没有人应该使用嵌入式容器,因为它们是不可靠的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31944008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档