小编Ond*_*Mih的帖子

如何在JUnit5中实现自定义运行器

有没有办法在JUnit5中完全控制测试方法的执行(包括前/后方法),类似于JUnit4 @RunWith注释)?

我正在尝试构建一个JUnit5 Arquillian扩展,但由于Aquillian基本上需要在容器中执行每个测试,所以当从Junit5扩展中运行Arquillian时我遇到了问题.

我的代码在这里:BasicJunit5ArquillianTest.java

测试应该在一个单独的容器中运行所有方法(包括之前/之后),该容器可以是单独的JVM,远程或嵌入式服务器或任何隔离的.我的扩展从beforeEach钩子运行测试方法,使用Arquillian传输测试类并使用LauncherFactory.create()在容器中运行它,收集测试结果并将其传回.

问题是测试方法执行两次 - 通过正常的JUnit5执行和来自beforeEach钩子的我的Arquillian扩展.我想仅通过Arquillian运行测试并跳过方法的正常执行.

这在JUnit5扩展中是否可行?或者我需要创建一个自定义测试引擎,可能会扩展Jupiter测试引擎?

java unit-testing jboss-arquillian junit5

5
推荐指数
1
解决办法
1335
查看次数

升级到 Netbeans 13 时,为什么会出现 IllegalStateException:缺少托管模块 org.netbeans.libs.javacimpl?

将 Netbeans 从 12.6 升级到 13 后,Netbeans 无法启动。当我从命令行启动它时,我收到以下消息:

java.lang.IllegalStateException: Missing hosting module org.netbeans.libs.javacimpl for fragment org.netbeans.modules.nbjavac.impl
    at org.netbeans.ModuleManager.refineClassLoader(ModuleManager.java:909)
    at org.netbeans.StandardModule.classLoaderUp(StandardModule.java:527)
    at org.netbeans.ModuleManager.enable(ModuleManager.java:1330)
    at org.netbeans.ModuleManager.enable(ModuleManager.java:1254)
    at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:315)
    at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:251)
    at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:298)
    at org.netbeans.core.startup.Main.getModuleSystem(Main.java:156)
    at org.netbeans.core.startup.Main.getModuleSystem(Main.java:125)
    at org.netbeans.core.startup.Main.start(Main.java:282)
    at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:98)
    at java.base/java.lang.Thread.run(Thread.java:829)
Run Code Online (Sandbox Code Playgroud)

什么原因?我该如何修复它?

netbeans netbeans-13

4
推荐指数
1
解决办法
1118
查看次数

设置arquillian.xml和glassfish-resource.xml

我正在按照本教程,但我有一些问题来设置jdbc连接.

在我的arquillian.xml中,我写道:

...
<container qualifier="payara-remote" default="true">
    <configuration>
        <property name="resourcesXml">
            src/test/resources-payara-remote/glassfish-resources.xml
        </property>
    </configuration>
</container>
...
Run Code Online (Sandbox Code Playgroud)

当我运行我的测试时,我收到此警告:

AVVERTENZA: Configuration contain properties not supported by the backing object org.jboss.arquillian.container.glassfish.remote_3_1.GlassFishRestConfiguration
Unused property entries: {resourcesXml=
            src/test/resources-payara-remote/glassfish-resources.xml
        }
Supported property names: [adminHttps, remoteServerHttpPort, libraries, type, remoteServerAddress, target, remoteServerAdminPort, remoteServerAdminHttps, adminUser, authorisation, adminPort, properties, adminHost, adminPassword]
Run Code Online (Sandbox Code Playgroud)

所以我认为"resourceXml"不受支持......我如何告诉arquillian使用该文件?

而且,在该文件中我声明了一个jdbc/test.我必须在persistence.xml中编写什么才能使用该数据库连接?

先感谢您

UPDATE

我希望在"src/test/resources-payara-remote/glassfish-resources.xml"中使用我的test-db声明jdbc连接(不在远程服务器中创建jdbc连接),但我不知道如何设置arquillian以使用.xml文件中声明的jdbc连接.

java jdbc glassfish jboss-arquillian payara

2
推荐指数
1
解决办法
858
查看次数