问题标签 [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.

0 投票
1 回答
454 浏览

java - 添加单个 Enterprise Bean 的 EJB 依赖注入所需的所有类

我有一个 Java Enterprise 应用程序,该应用程序由十多个项目组成,编译成一个耳朵档案。我需要做一些集成测试,并且必须使用 Arquillian 平台和 ShrinkWrap。在带@Deployment注释的方法中,我必须明确地将每个类包含在我需要测试的类的依赖树中。

我的问题:是否有一种工具可以为从单个 EJB 开始的通过 EJB 注释 (CDI) 引用的类构建类树?

例如:我有这样的树(省略了一些类)

我的@Deployment注释方法如下所示:

我的测试:

我希望我的 createDeployment 看起来更像这样:

buildClassTree我正在寻找的方法在哪里。

0 投票
2 回答
899 浏览

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

0 投票
0 回答
254 浏览

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 规范。

发现测试:http ://www.programcreek.com/java-api-examples/index.php?source_dir=arquillian-container-weld-master/weld-ee-embedded-1.1/src/test/java/org/ jboss/arquillian/container/weld/ee/embedded_1_1/WeldEmbeddedIntegrationEARTestCase.java

更新2:我找到了解决方法。更改为 WELD SE 并添加ear.merge(ejbJar)到焊接配置文件Wildfly 托管配置文件的测试工作。

我仍然不认为这是一个解决方案,因为我认为它应该得到 WELD-EE 的支持。

0 投票
1 回答
885 浏览

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。

任何帮助将非常感激。

0 投票
1 回答
911 浏览

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

0 投票
1 回答
306 浏览

jboss - arquillian + shrinkwrap + seam:如何创建部署包

我有一个接缝 2.2.2 应用程序,我正在迁移到 jboss eap 6 (AS7)。由于测试是在旧的 jboss 嵌入式容器中进行的,所以我开始使用 arquillian 但我无法发现创建部署包的热点。

这是我的尝试之一:

当我将测试类作为 JUnit 测试运行时它失败了(我可以看到应用程序部署没有错误):

看来我必须将测试类打包成一个war包,但我有点迷茫,我需要一些帮助。

0 投票
1 回答
495 浏览

node.js - 如何收缩使用“npm link”创建的符号链接节点模块?

我一次在两个存储库上工作。一个依赖于另一个(在package.json依赖项中列出)。

所以我使用npm link ..\theOneinother来同时处理这两个模块。结果,我可以在另一个模块上测试修改。问题是npm shrinkwrap在这个other模块上做时:它会产生如下错误:

npm ERR! extraneous C:\other\node_modules\theOne\node_modules\{xxxx}

{xxxx}是一个对 npm 来说似乎无关紧要的开发依赖项。

任何人都成功地将带有符号链接的模块收缩包装到另一个模块?

注意:

  • npm 3.10.3
  • 节点 6.3.0
0 投票
1 回答
188 浏览

npm - npm shrinkwrap 包含到 localhost 的路径

运行后npm shrinkwrap我发现我们有很多对 localhost 的引用:

原来这些引用也在原始 node_modules 中:

所以这意味着我在安装时会遇到很多获取和重试错误:

这不可能。解决此问题的最佳方法是什么?

0 投票
3 回答
3315 浏览

jakarta-ee - arquillian 从主文件夹添加资源

我在我们的 JAVA EE 应用程序服务器的业务代码中有问题。我们访问文件src/main/resources夹中的一些文件

在生产中这是可行的,但我想在我的 arquillian 测试中测试使用此功能的部分代码。

我们正在使用收缩包装来生成我们的test.war.

我在将资源添加src/main/resourcestest.war.

我只能从src/test/resources.

我们的目录结构如下:

我必须做什么?

0 投票
1 回答
754 浏览

java - Arquillian 不在 JBOSS 中部署 war 文件夹

我正在使用 JBoss EAP 6.1 开发一个 Java EE 应用程序。

使用 Arquillian 运行测试时,我在使用注入测试的方法时总是出现空指针异常,我发现 ShrinkWrap 无法使用我的类创建 war 文件夹。

这是我的 Arquillian 收缩包装,它不会创建 war 文件夹。

谢谢你的帮助。