问题标签 [jboss-arquillian]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - deploymentURL 未注入到 Arquillian Drone 的集成测试中
我正在尝试在我们的项目中引入使用 Arquillian Drone 的集成测试。我做了一些小的演示应用程序,阅读了一些东西,最后尝试为相对简单的网页编写一个简单的集成测试。
我想我已经解决了所有必需的依赖项,并且能够在 Intellij Idea 中运行我的测试类。但是当我运行它时,我得到一个异常说:
java.lang.RuntimeException:无法查找字段 java.net.URL com.example.BEViewUIWithDrone.deploymentURL 的值(...)
造成的:
java.lang.RuntimeException:类型类 java.net.URL 的提供程序返回了一个空值:org.jboss.arquillian.test.impl 中的 org.jboss.arquillian.container.test.impl.enricher.resource.URLResourceProvider@6e73a35c。 org.jboss.arquillian.test.impl.enricher.resource.ArquillianResourceTestEnricher.enrich(ArquillianResourceTestEnricher.java:57) 上的enricher.resource.ArquillianResourceTestEnricher.lookup(ArquillianResourceTestEnricher.java:115)”(完整堆栈跟踪较低)
我的测试课:
Pom 片段:链接到带有列表的 paste.org
完整的堆栈跟踪:
spring - 如何使用 Arquillian 在应用服务器容器中测试 Spring?
我们正在尝试使用 TestNG 框架在嵌入式 tomcat 容器上运行基于 Spring 的代码的集成测试。
我们尝试使用现有的 Arquillian Spring Extension,但没有取得多大成功。也许一些缺少的配置。我们已按照此帖子的说明进行操作
我们的 pom 包含以下依赖项:
我们还在我们的 pom.xml 中添加了一个 Tomcat 嵌入式配置文件。
我们的arquillian.xml
样子...
我们还尝试将以下几行添加到我们的arquillian.xml
我们创建了一个空测试并检查嵌入式 Tomcat 是否启动并且测试是否运行。下一步是验证 Arquillian Spring Extension 是否正常工作,为此我们尝试将 Spring bean 注入到我们的测试中。
问题是@SpringConfiguration
注释根本不可用。所以我们猜测我们缺少一些配置。关于如何进行的任何线索?
jboss-arquillian - 无法使用 Arquillian 注入注入 bean 的依赖项
我正在使用 Arquillian 为我的测试注入依赖项。如果我将 bean 直接注入到我的测试类中,它可以正常工作,但如果 bean 具有它们自己的依赖项,则必须注入这些依赖项,这些依赖项不会被注入。
例如:FacLptConfiguration bean 被正确导入到我的测试类中,但它没有被注入到 CfdFileCreator bean 中。我将 FacLptConfigurtion 注入到测试类中只是为了确认注入工作,但是这个类的用户是 CfdFileCreator。
}
这些注射不起作用:
glassfish - Arquillian、glassfish 和 h2 数据库
我目前正在解决使用 Arquillian 创建数据库单元测试环境的许多问题。我的项目已经在基于 Seam 3、JSF 和 MySQL 的 Glassfish 3.1.2 环境中运行。但是,当尝试使用 Arquillian 设置测试环境时,事情变得很糟糕。
我的最终目标是使用 Glassfish 嵌入式服务器和嵌入式内存 h2 数据库进行基于 Arquillian 的单元测试。对于嵌入式容器,我并不挑剔,只是 Arquillian JPA 指南建议最小的 Weld 容器不支持 JPA。这就是我选择 Glassfish 的原因。由于我还没有接近持久性上下文的初始化,所以我没有发布我的 persistence.xml 文件。
到目前为止,这是我最终得到的 POM:
我想对于这篇文章,只有“测试依赖项”很重要(见评论标记),因为实际的主要部署完美无缺。运行以下单元测试:
现在为我提供了以下例外:
对此,我完全一无所知。我什至不知道java oO中存在这些类型的异常......
在此先感谢您的任何建议!任何帮助表示赞赏!
最好的问候帕斯卡
java - 如何在 jBoss 7.x 的 Arquillian 测试中设置 p6spy 驱动程序?
除了在
补充p6spy.jar
说module.xml
:
在下面编辑standalone-full.xml
和添加一个条目datasources/drivers
:
在中添加模块依赖项jboss-deployment-structure.xml
:
将数据源定义中的原始驱动程序替换为p6spy
我仍然收到此错误:
ejb-3.1 - 使用 Arquillian 运行多个测试时尝试注入远程 ejb-ref 的异常
我有许多使用“arquillian-glassfish-embedded-3.1”容器(1.0.0.CR3)使用Arquillian(1.0.2.Final)运行的测试类。
如果我单独运行任何测试类,它们会按预期运行,如果我尝试运行多个测试类 (TestSuite),我会遇到将 EJB 注入类的问题。
java.lang.RuntimeException:无法注入成员
原因:java.lang.IllegalStateException:尝试注入远程 ejb-ref name=PackageManagerBean,远程 3.x 接口=com.dcp.pkg.PackageManager 解析为模块测试中的应用内 EJB PackageManagerBean 的异常,ejb-link=PackageManagerBean ,lookup=,mappedName=,jndi-name=PackageManagerBean,refType=Session 进入类 com.dcp.transmission.TransmissionManagerBeanTest: 在 SerialContext[myEnv={java.naming.factory.初始=com.sun.enterprise.naming.impl.SerialInitContextFactory,java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,java.naming.factory.url.pkgs=com。 sun.enterprise.naming}
原因:com.sun.enterprise.container.common.spi.util.InjectionException:尝试注入远程 ejb-ref name=PackageManagerBean,远程 3.x 接口=com.dcp.pkg.PackageManager 解析为应用内 EJB 的异常模块测试中的 PackageManagerBean,ejb-link=PackageManagerBean,lookup=,mappedName=,jndi-name=PackageManagerBean,refType=Session 进入类 com.dcp.transmission.TransmissionManagerBeanTest:在 SerialContext 中查找 'java:comp/env/PackageManagerBean' 失败[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,java。命名.factory.url.pkgs=com.sun.enterprise.naming}
原因:javax.naming.NamingException:在 SerialContext [myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming 中查找“java:comp/env/PackageManagerBean”失败.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [根异常是 javax.naming.NamingException: Exception为 'Remote ejb-ref name=PackageManagerBean,Remote 3.x interface =com.dcp.pkg.PackageManager 解析 Ejb 在模块测试中解析为应用内 EJB PackageManagerBean,ejb-link=PackageManagerBean,lookup=,mappedName=,jndi-名称=PackageManagerBean,refType=Session' 。用于查找的实际(可能是内部)远程 JNDI 名称是 'PackageManagerBean#com.dcp.pkg.PackageManager' [根异常是 javax.naming.NamingException:
引起:javax.naming.NamingException: Exception resolve Ejb for 'Remote ejb-ref name=PackageManagerBean,Remote 3.x interface =com.dcp.pkg.PackageManager 在模块测试中解析为应用内 EJB PackageManagerBean,ejb-link= PackageManagerBean,lookup=,mappedName=,jndi-name=PackageManagerBean,refType=Session' 。用于查找的实际(可能是内部)远程 JNDI 名称是“PackageManagerBean#com.dcp.pkg.PackageManager”[根异常是 javax.naming.NamingException:在 SerialContext 中查找“PackageManagerBean#com.dcp.pkg.PackageManager”失败[ myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming .factory.url.pkgs=com.sun.enterprise.naming} [根例外是 javax.naming。
原因:javax.naming.NamingException:在 SerialContext [myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java 中查找 'PackageManagerBean#com.dcp.pkg.PackageManager' 失败.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [根异常是 javax.naming.NamingException :远程业务接口com.dcp.pkg.PackageManager的ejb ref解析错误[根异常是java.lang.IllegalArgumentException:参数类型不匹配]]
原因:javax.naming.NamingException:远程业务接口com.dcp.pkg.PackageManager的ejb ref解析错误[根异常是java.lang.IllegalArgumentException:参数类型不匹配]
引起:java.lang.IllegalArgumentException:参数类型不匹配
包管理器 Bean 定义如下:
包管理器被注入到几个测试类中,如下例所示:
我似乎没有遇到任何其他 EJB 的问题。
有谁知道问题是什么以及我如何才能让它工作?
junit4 - 在junit测试之间清除/重置selenium webdriver
我正在使用带有 selenium webdriver 的 arquillian 石墨烯,但我遇到了一个恼人的问题。
WebDriver 似乎在每次测试之间保留页面状态。我目前正在测试登录页面,第一个测试检查登录失败。这行得通。
第二个测试检查登录是否成功。单独运行时,它工作正常。但是,与上面的一起运行,它失败了。在查看页面输出时,似乎用户名字段是第一个测试和第二个测试中的用户名的组合。
例如,第一个测试将用户名设置为“不存在”,第二个测试将用户名设置为“test”,如果我单独运行测试,这将有效。
如果我一起运行它们,用户名字段以“不存在的测试”结束
这表明 webdriver 不会在测试之间“重置”/“清除”页面。
有没有办法让它重置它?
我目前通过在@Before 测试的每个字段上调用 clear() 方法来解决这个问题。
任何援助将不胜感激。
谢谢。
java - 在 Arquillian 的测试中使用不同的 persistence.xml 文件
我正在使用一个标准的 Maven 项目,我在 java 资源文件夹中有一个 persistence.xml,在测试文件夹中有另一个 persistence.xml。如何在 arquillian 测试中使用 test 文件夹中的 persistence.xml?或者这不是正常的事情吗?
java - 如何在 Arquillian 中测试 JPA
我正在尝试使用 Arquillian 来测试我的 JPA 存储库类。但是我只得到空指针异常告诉我它没有找到persistence.xml。如何在标准 Maven 项目中配置它?