我按照教程安装MUnit插件作为此页面:https://docs.mulesoft.com/munit/v/1.1.1/using-munit-in-anypoint-studio
但是,当我运行一个空的测试用例时,AnyPoint会返回一个错误:发生了JNI错误,请检查您的安装并重试。
在控制台中,我将异常视为:
线程中的异常" main" java.lang.NoClassDefFoundError:org / mule / munit / runner / mule / result / notification / NotificationListener,位于java.lang上的java.lang.Class.privateGetDeclaredMethods(未知来源)的java.lang.Class.getDeclaredMethods0(本地方法)中。位于sun.launcher.LauncherHelper的sun.launcher.LauncherHelper.validateMainClass(未知来源)的java.lang.Class.getMethod(未知来源)的java.lang.Class.getMethod0(未知来源)的Class.privateGetMethodRecursive(未知来源)。 checkAndLoadMain(Unknown Source)由java.lang.ClassLoader.loadClass上的java.net.URLClassLoader.findClass(Unknown Source)中的java.lang.ClassNotFoundException:org.mule.munit.runner.mule.result.notification.NotificationListener引起来自sun.misc.Launcher的未知来源$ java.lang.ClassLoader.loadClass(未知来源)的AppClassLoader.loadClass(未知来源)... 7更多
请帮助检查问题是什么。
提前致谢。
答案 0 :(得分:1)
我在这里假设一些事情:1)您正在使用Anypoint Studio和2)您的项目是Mavenized
1)安装MUnit: 转到Anypoint Studio中的“帮助”菜单,然后单击安装新软件。在使用列中输入http://studio.mulesoft.org/r4/munit并添加。
完成后,我们需要将此MUnit添加到Maven路径。
2)添加到路径: 在项目资源管理器中,转到 src / test / munit 并右键单击它。从DropDown中选择 Munit 并选择配置MUnit Maven支持。
此Maven将自动触发构建,并将下载所有必要的文件,包括您在问题中提到的文件。
希望这有帮助!
答案 1 :(得分:0)
运行时可能没有MUnit运行器。您可以通过将munitRunner添加到我的pom中来解决此问题。
依赖性
<dependency>
<groupId>com.mulesoft.munit</groupId>
<artifactId>mule-munit-support</artifactId>
<version>${mule.munit.support.version}</version>
<scope>test</scope>
<dependency>
<groupId>com.mulesoft.munit</groupId>
<artifactId>munit-runner</artifactId>
<version>${munit.version}</version>
<scope>test</scope>
插件
<plugin>
<groupId>com.mulesoft.munit.tools</groupId>
<artifactId>munit-maven-plugin</artifactId>
<version>${munit.version}</version>
<executions>
<execution>
<id>test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<coverage>
<runCoverage>true</runCoverage>
<formats>
<format>html</format>
</formats>
</coverage>
</configuration>
</plugin>
还请记住将munit源添加为maven测试资源,例如,
<testResources>
<testResource>
<directory>src/test/munit</directory>
</testResource>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources