当前位置: 首页 > 知识库问答 >
问题:

未在eclipse中运行tdd测试

顾宸
2023-03-14

测试本身不会运行,这里是错误消息显示的内容,测试本身也不会运行,而这里是错误信息显示的内容

java.lang.NoClassDefFoundError: org/junit/platform/engine/ConfigurationParameters
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:34)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:124)
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:346)
at java.base/java.lang.Class.newInstance(Class.java:604)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:371)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:366)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:310)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:225)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

起因:java.lang.ClassNotFoundException:org.junit.platform.engine.ConfigurationParametersjava.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

这是我要做的测试

    @Test
public void testAddition() {
    Calculator calculator = new Calculator();
    double result = calculator.solve("12 20 +");
    double expected = 32;
    assertEquals(result, expected, 0.00001);
    
    result = calculator.solve("100 200 +");
    expected = 300;
    assertEquals(result, expected, 0.00001);
}

}

共有1个答案

周宏胜
2023-03-14

看起来您的测试跑步者没有找到测试。

>

  • 找到你的测试运行器是什么:(例如,junit4或junit5,通过Eclipse,IntelliJ或通过命令行和maven(pom.xml)或gradle启动?

    了解测试运行程序考虑的默认文件路径和文件名模式是什么。

    例如:在大多数java项目中,您的测试应该在“projectroot/src/test/java//MyClassTest.java”中,所有测试都应该以“*test.java”结尾

    但是,当 pom.xml 定义了其他路径/文件名模式,然后定义了该部分中 maven-surefire-plugin 的默认模式时,您可能需要更改路径和/或测试文件名。

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.0</version>
        <configuration>
          <includes>**/*Test.java</includes>
          <argLine>-Duser.language=en -Duser.region=nl -Djava.locale.providers=COMPAT ${surefireArgLine}</argLine>
    <!-->....<--!>
    

    如果您使用的是maven:请尝试“mvn测试”,并查看该行

    "[INFO] ---  maven-surefire-plugin:x.xx.x:test"
    

    如果发现任何测试。

  •  类似资料:
    • 我正面临着一个如此奇怪的问题与我的日食。Android项目没有在我的eclipse中运行,我使用的是eclipse版本4.4 Luna和Android SDK最新的API级别23(甚至更早的版本也没有工作),直到几天前它还运行得很好,所有其他java项目都运行得很好,比如web和桌面等。当我运行android项目时,它会显示错误对话框,尽管项目中没有错误(对于一个新项目也是如此),但我已经尝试了c

    • 在我的Eclipse项目(Eclipse Luna)中,我有一些JUnit测试用例,我不想在完全回归测试中运行。例如,因为它们需要用户在场以验证结果(例如,如果声音正确播放),或者因为它们只在特定系统上正确运行。这些测试大多是在对被测试类进行更改时手动使用的。我已经使用来忽略这些测试。 当我从Eclipse运行一个包含忽略测试的类(运行为->Junit测试)时,它将在测试列表中显示忽略的测试。

    • 我有一个在eclipse和cmd提示符中运行良好的Jar。当我尝试在Unix中执行相同的程序时,它没有执行。

    • 在Eclipse PDT中运行PHPUnit测试时,右键单击test文件夹并选择run As>PHPUnit Testm 生成此错误: 我导航到Eclipse日志文件,找到了以下文本: Eclipse.buildid=4.8.0.i20180611-0500 参数:-product org.eclipse.epp.package.php.product命令行 参数:-OS win32-WS win

    • 下面的示例会为您测试Redux应用程序打下坚实的基础。