MUnit错误:发生了JNI错误,请检查您的安装并再试一次

时间:2016-08-18 07:53:59

标签: installation mule anypoint-studio munit

我按照教程安装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更多

请帮助检查问题是什么。

提前致谢。

2 个答案:

答案 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