如何解析 arquillian static variable = null
How to resolve arquillian static variable = null
自从我升级到 WildFly 23 后,我一直无法 shrinkwrap/arquillian 正确解析 类。
这里是createDeployment函数
public static Archive<?> createBasicShrinkWrappedDeployment()
{
File[] mavenImports = Maven.resolver()
.loadPomFromFile("pom.xml")
.importRuntimeDependencies()
.resolve()
.withTransitivity()
.asFile();
return ShrinkWrap.create(WebArchive.class, "<project>-tests.war")
.addAsLibraries(mavenImports)
.addPackages(true, "org.<company>.crs")
.addAsResource("jbossas-managed/test-persistence.xml", "META-INF/persistence.xml")
.addAsResource("jbossas-managed/test-orm.xml", "META-INF/orm.xml")
.addAsResource("templates/email/template1.vm")
.addAsResource("templates/email/template2.vm")
.addAsResource("templates/email/template3.vm")
.addAsResource("templates/email/template4.vm")
.addAsResource("templates/pdf/template5.vm")
.addAsWebInfResource("beans.xml", "beans.xml");
}
我的问题是,对于测试,我们有一些测试数据存在于:org..crs.utils,它是一堆静态数据,我们用于功能测试以比较预期数据库数据到应用程序中的静态数据。这是一个例子:
package org.<company>.crs.utils;
public class UserInfo{
public static class Id
{
public static UUID Steve = UUID.fromString("...");
public static UUID TestPerson = UUID.fromString("...");
public static UUID Anonymous = UUID.fromString("...");
}
... <more test classes like Id>
}
现在,当我们 运行 测试时,我们可能 运行 像这样:
Assert.assertEquals(permission.getIdentityId(), UserInfo.Id.Steve);
但是,UserInfo.Id.Steve 为空,我假设这是一个 shrinkwrap 或 arquillian 问题,因为该数据是静态定义的,不能为空。
在我们将应用程序服务器从 WF8 更新到 WF23(并在此过程中进行了一系列其他更改)之前,这一直有效。想知道是否有人知道是什么原因造成的,或者如何解决?
故障排除过程的进一步发展得出结论,这是(我认为)我的 IDE 而不是测试框架的问题。有关 IDE 问题的新问题,请参阅上面的 link 评论。
自从我升级到 WildFly 23 后,我一直无法 shrinkwrap/arquillian 正确解析 类。
这里是createDeployment函数
public static Archive<?> createBasicShrinkWrappedDeployment()
{
File[] mavenImports = Maven.resolver()
.loadPomFromFile("pom.xml")
.importRuntimeDependencies()
.resolve()
.withTransitivity()
.asFile();
return ShrinkWrap.create(WebArchive.class, "<project>-tests.war")
.addAsLibraries(mavenImports)
.addPackages(true, "org.<company>.crs")
.addAsResource("jbossas-managed/test-persistence.xml", "META-INF/persistence.xml")
.addAsResource("jbossas-managed/test-orm.xml", "META-INF/orm.xml")
.addAsResource("templates/email/template1.vm")
.addAsResource("templates/email/template2.vm")
.addAsResource("templates/email/template3.vm")
.addAsResource("templates/email/template4.vm")
.addAsResource("templates/pdf/template5.vm")
.addAsWebInfResource("beans.xml", "beans.xml");
}
我的问题是,对于测试,我们有一些测试数据存在于:org.
package org.<company>.crs.utils;
public class UserInfo{
public static class Id
{
public static UUID Steve = UUID.fromString("...");
public static UUID TestPerson = UUID.fromString("...");
public static UUID Anonymous = UUID.fromString("...");
}
... <more test classes like Id>
}
现在,当我们 运行 测试时,我们可能 运行 像这样:
Assert.assertEquals(permission.getIdentityId(), UserInfo.Id.Steve);
但是,UserInfo.Id.Steve 为空,我假设这是一个 shrinkwrap 或 arquillian 问题,因为该数据是静态定义的,不能为空。
在我们将应用程序服务器从 WF8 更新到 WF23(并在此过程中进行了一系列其他更改)之前,这一直有效。想知道是否有人知道是什么原因造成的,或者如何解决?
故障排除过程的进一步发展得出结论,这是(我认为)我的 IDE 而不是测试框架的问题。有关 IDE 问题的新问题,请参阅上面的 link 评论。