问题标签 [shrinkwrap]
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 - 添加单个 Enterprise Bean 的 EJB 依赖注入所需的所有类
我有一个 Java Enterprise 应用程序,该应用程序由十多个项目组成,编译成一个耳朵档案。我需要做一些集成测试,并且必须使用 Arquillian 平台和 ShrinkWrap。在带@Deployment
注释的方法中,我必须明确地将每个类包含在我需要测试的类的依赖树中。
我的问题:是否有一种工具可以为从单个 EJB 开始的通过 EJB 注释 (CDI) 引用的类构建类树?
例如:我有这样的树(省略了一些类)
我的@Deployment
注释方法如下所示:
我的测试:
我希望我的 createDeployment 看起来更像这样:
buildClassTree
我正在寻找的方法在哪里。
java - Arquillian EJB 添加 mockito
我正在尝试将 mockito 添加到我的 arquillian 测试中(使用 ShrinkWrap),如下所示:
我正在使用 Mockito 覆盖@Alternative
. 但是当我添加该行时archive = archive.merge(lib)
,我得到了异常:
引起:java.lang.ClassNotFoundException:org.apache.tools.ant.Task
或者我会得到
引起:java.lang.ClassNotFoundException:org.mockito.asm.signature.SignatureVisitor
有没有其他人也经历过这种情况?
更新:一些额外的信息,我正在尝试使用 wildfly 嵌入式容器进行测试:pom.xml
jboss-arquillian - Arquillian Weld EE NullPointerException(调用方法)EAR
我正在尝试在 (ShrinkWrap)EnterpriseArchive 中使用 Arquillian + WELD EE 进行测试。但是当我开始调用该方法时,我得到了 NullPointerException。
我的 pom.xml
我的测试课
它在 处失败sessionBean.businessMethod();
,插入了一个代理,因此assertNotNull
通过了。当我使用arquillian-weld-se-embedded-1.1
(SE)时,我得到一个错误could not inject members
。
当我使用 wildfly 嵌入式容器进行测试时,这非常有效。
更新:我的NewSessionBean
课程是@Stateless
+ @LocalBean
(也没有经过测试@LocalBean
。当我用它测试它时,@ApplicationScoped
它可以工作,但这不是我想要的。如果我测试它@Named
或用@LocalBean
它工作。但这些是非 EJB 规范。
更新2:我找到了解决方法。更改为 WELD SE 并添加ear.merge(ejbJar)
到焊接配置文件和Wildfly 托管配置文件的测试工作。
我仍然不认为这是一个解决方案,因为我认为它应该得到 WELD-EE 的支持。
java - 在 Arquillian 测试中难以将包添加到 Shrinkwrap 存档
我正在尝试使用 shrinkwrap 将包 org.jibble.pircbot 添加到我的测试存档中。我已经尝试了我能想到的所有变体,但在所有情况下都找不到包。但是,由于某种原因,可以单独添加类,但不会添加任何匿名内部类。
这导致异常
这很奇怪,因为浏览了 shrinkwrap 源代码,我发现了一个函数,它可以做出以下断言
但遗憾的是,似乎没有测试用例真正调用这个函数。
但是,问题仍然存在 - 为什么当我调用 addPackages(true, "org.jibble.pircbot") 时,shrinkwrap 找不到包?我查看了生成的存档,没有 org.jibble.pircbot 的迹象,显然存在不可避免的 ClassDefNotFound 异常:
我正在使用 gradle,但如果我使用的是 maven,maven 解析器可能会完成这项工作。有一个 gradle 解析器,但它并没有完全做同样的事情。我使用它的最佳尝试如下
这将启动一个 gradle 任务并将测试类插入到生成的存档中。挑战在于如何构建正确的战争文件。我希望它包含属于集成测试源集而不是主源集的资源文件(部署描述符等),但我就是无法让它工作。
仅供参考,我使用的是最新的 shrinkwrap 版本 1.2.3。
任何帮助将非常感激。
java - 使用 ShrinkWrap 找不到 test-persistence.xml
我正在使用 ShrinkWrap 构建集成测试,我希望使用测试文件来测试持久性test-persistence.xml
。根据 Arquillian Guides Testing Java Persistence,我需要这样编写测试:
这是我自己的实现:
你可以看到我已经注释了这行.addAsResource("META-INF/persistence.xml")
,它的目的是搜索src/main/resources/META-INF/persistence.xml
并添加到存档文件中。它工作正常。但是,当我用 替换它时test-persistence.xml
,maven 构建失败并出现错误:
请注意:
- 测试持久性文件位于
src/test/resources/test-persistence.xml
- 测试资源
src/test/resources
文件夹应该已经包含在 maven pom 文件中(见附件)。
关于如何解决此错误的任何想法?
附件
pom.xml
jboss - arquillian + shrinkwrap + seam:如何创建部署包
我有一个接缝 2.2.2 应用程序,我正在迁移到 jboss eap 6 (AS7)。由于测试是在旧的 jboss 嵌入式容器中进行的,所以我开始使用 arquillian 但我无法发现创建部署包的热点。
这是我的尝试之一:
当我将测试类作为 JUnit 测试运行时它失败了(我可以看到应用程序部署没有错误):
看来我必须将测试类打包成一个war包,但我有点迷茫,我需要一些帮助。
node.js - 如何收缩使用“npm link”创建的符号链接节点模块?
我一次在两个存储库上工作。一个依赖于另一个(在package.json
依赖项中列出)。
所以我使用npm link ..\theOne
inother
来同时处理这两个模块。结果,我可以在另一个模块上测试修改。问题是npm shrinkwrap
在这个other
模块上做时:它会产生如下错误:
npm ERR! extraneous C:\other\node_modules\theOne\node_modules\{xxxx}
{xxxx}
是一个对 npm 来说似乎无关紧要的开发依赖项。
任何人都成功地将带有符号链接的模块收缩包装到另一个模块?
注意:
- npm 3.10.3
- 节点 6.3.0
npm - npm shrinkwrap 包含到 localhost 的路径
运行后npm shrinkwrap
我发现我们有很多对 localhost 的引用:
原来这些引用也在原始 node_modules 中:
所以这意味着我在安装时会遇到很多获取和重试错误:
这不可能。解决此问题的最佳方法是什么?
jakarta-ee - arquillian 从主文件夹添加资源
我在我们的 JAVA EE 应用程序服务器的业务代码中有问题。我们访问文件src/main/resources
夹中的一些文件
在生产中这是可行的,但我想在我的 arquillian 测试中测试使用此功能的部分代码。
我们正在使用收缩包装来生成我们的test.war
.
我在将资源添加src/main/resources
到test.war
.
我只能从src/test/resources
.
我们的目录结构如下:
我必须做什么?
java - Arquillian 不在 JBOSS 中部署 war 文件夹
我正在使用 JBoss EAP 6.1 开发一个 Java EE 应用程序。
使用 Arquillian 运行测试时,我在使用注入测试的方法时总是出现空指针异常,我发现 ShrinkWrap 无法使用我的类创建 war 文件夹。
这是我的 Arquillian 收缩包装,它不会创建 war 文件夹。
谢谢你的帮助。