问题标签 [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.
testing - Arquillian 与用于 OSGi(集成)测试的 Pax 考试相比如何?
我目前正在研究如何最好地测试我们打算在 Apache Karaf 上运行的 OSGi 应用程序。显而易见的选择是使用labs-paxexam-karaf进行的 Pax 考试(有关教程,请参见http://iocanel.blogspot.com/2012/01/advanced-integration-testing-with-pax.html)。但是,我担心性能(因为 Pax Exam 显然为每种测试方法启动了一个新框架)。我还发现Arquillian 有一些 OSGi 支持,尽管这不是它的主要关注点。JUnit4osgi 不是一个选项,因为它只支持 JUnit 3。
对于不熟悉这两种框架的人来说,从哪个开始更好?有哪些权衡?
java - 在远程服务器上使用 Arquillian 时,@BeforeClass 注释调用方法两次
我们正在从使用带有嵌入式 JBoss 的 TestNG 过渡到使用带有远程服务器的 Arquillian。
我们正在运行一个简单的测试,该测试有一个用 @BeforeClass 注释的方法来进行一些测试设置。经过大量挖掘后,该 setup 方法似乎被调用了两次:一次是在控制台上执行 Maven 命令以运行测试,另一次是在将测试战部署到我们的远程服务器并运行测试时。这是两个独立的 JVM——一个在容器外运行,另一个在容器内运行。我的偏好是让后者运行。
这是我应该期待的行为还是我可能遗漏了什么?
现在,我们实际上是在检查我们是否在容器中,如果是,我们运行我们的设置代码。这可行,但我想知道是否有更好的方法。
我们代码的一些片段(请忽略代码的简单性以及此处确实不需要 setupComponents 方法这一事实,我们正在迁移的更复杂的测试需要此功能):
这基本上给了我如下所示的输出:
从正在执行 mvn 的控制台:
从 jboss 服务器:
osgi - 在 Equinox 中运行 Arquillian
我正在尝试在 OSGi 容器中运行集成测试,即嵌入在 Eclipse 中的 Equinox 容器,在远程模式下使用 Arquillian。
我按照JBoss OSGI 网站上的说明进行操作。所以我首先通过添加这些人工制品(我通过浏览jboss 存储库找到)来配置我的目标平台:
当我尝试验证捆绑包时,我从 jboss-osgi-jmx 得到不满意的导入:
- 缺少包 org.jboss.osgi.spi.capability
- 缺少包 org.jboss.osgi.testing
显然,丢失的包属于这些工件(再次通过浏览找到):
但是这些工件都不是 OSGI 包,所以我遇到了未解决的约束。
所以,我的问题是:
- 我搞砸了我的平台配置吗?
- 是否有人已经在远程模式下在非 JBoss osgi 容器中成功使用 Arquillian(普通的 felix 可以)?
log4j - 如何通过远程 jboss 容器从 Log4J 使用/部署 Logger?
我正在查看教程http://arquillian.org/guides/getting_started/。一切运行良好。但是,如果我尝试使用 log4j.xml(放置在 src/main/resources 中)从 Log4J 添加 Logger,则只有嵌入式容器焊接,glassfish 使用控制台日志附加程序运行良好。在控制台上,我收到了消息:
远程 jboss 失败。我的部署:
堆栈跟踪片段:
我还尝试将 Logger.class 添加到 JavaArchive,但这也因以下堆栈跟踪片段而失败:
我的错误是什么?
jboss7.x - 如何获得 jboss7.1 arquillan 测试的工作示例?
两天以来,我正在尝试使用 jboss 7.1.1 运行“Arquillan”测试的示例,但它们总是有很多错误。没有什么能像我在互联网上找到的许多教程中看到的那样工作。请在哪里下载完整的工作示例,展示如何将 Arquillan Test 与 Jboss7.1.1 一起使用?感谢
java - 没有 Maven 的 Eclipse JUnit Arquillian
在我的项目中,我有一个用户库,其中包含运行 arquillian junit 测试所需的所有库,并且它在 IDE 中完美运行。现在的问题是,测试类将与我的主应用程序一起打包,导致 ClassNotFoundException,因为 arquillian 库不可用。我可以以某种方式从包装中排除我的测试类,还是必须将我的测试移动到不属于我的主应用程序的另一个项目中?
selenium - 功能/验收测试的正确结构
我目前正在为一个项目构建一个自动化的功能/验收测试套件,但是我没有很多编写这些类型测试的经验,所以我想获得一些关于正确构建它们的输入。具体来说,我正在使用 Arquillian 的 Graphene 扩展。
例如,假设我有 3 个测试,A、B 和 C。
TestA:测试登录到应用程序中的帐户。因此,如果测试成功,浏览器应该在帐户的主页/信息页面上。
TestB:测试修改帐户密码。这需要登录帐户,然后测试密码更改功能。
TestC:测试修改帐户的电子邮件。这将再次需要登录帐户,然后测试电子邮件更改功能。
如果 TestA 由于登录代码问题而失败,显然 TestB 和 TestC 也应该失败,因为它们需要登录到帐户。
问题:自动化功能/验收测试是否应该重复一个完成测试所验证的过程所必需的过程?在这种情况下,TestB 和 TestC 需要先登录该帐户,然后再执行任何其他操作。每个测试是否应该明确调用类似:
或者我应该使用某种方式将帐户模拟到测试 B 和 C 可以使用的会话中,以便即使 TestA(实际登录测试)失败,它们也不会失败?
由于这些是用户接受测试,我的想法是他们应该做用户会做的事情并在必要时登录,但我不确定这是否是不必要的重复,应该以不同的方式处理(即,像对待功能,类似于标准单元测试),我想从在这方面有更多经验的人那里获得反馈。
提前致谢。希望我的问题不会太复杂。:)
ejb-3.0 - 在 WebLogic 10.3.5 上使用 Arquillian 进行 @EJB 注入不起作用
我正在使用 Arquillian 在 WebLogic 10.3.5 上运行基本单元测试。不幸的是,@EJB 注入对我不起作用,并且在调用 EJB 时会得到 NullPointerException。
我发现的示例不需要添加 ejb-jar.xml,但我添加了一个。在任何情况下,都会引发 NullPointerException。
有任何想法吗?
单元测试:
输出:
我的 EJB 接口:
EJB 实现:
arquillian.xml
我添加的依赖项:
jboss - 使用 JBoss 7.1 构建的真实 EAR 进行 Arquillian 测试
我想用 Arquillian 测试一个 Java EE 应用程序。一个简单的设置是把一些测试类放到 Arquillian 管理的服务器上来测试它们。
现在,我想使用在构建过程中构建的 EAR 文件。和
我可以通过 Arquillian 将 EAR 放到 JBoss 中。我看到了部署,部署期间没有错误。只有 Arquillian 返回一个错误,它找不到测试类,这显然是可以的。
现在是在哪里放置测试类的问题。我可以将测试类放入 Arquillian 放入 EAR 的 test.war 中,但我得到了 ArquillianServletRunner not found 异常。当我将测试类作为模块或库放入 JAR 文件中时,当作为模块放入时找不到测试类,或者由于依赖问题而作为库放入时注入不起作用。
我必须把测试课放在哪里???
我的 arquillian.xml: