如何解析 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 评论。