无法使用CLI编译Java文件

问题描述

我进行了一些自动化测试,但遇到了无法编译java.file的问题 我的源文件夹是项目的文件夹“ Test”。 在此文件夹中,我有2个jar文件

hamcrest-core-1.3.jar

junit-4.13.jar

我运行以下命令:

                javac -cp junit-4.13.jar;. src\r.java 

然后我收到下一条消息:

src\r.java:1: error: package org.junit.jupiter.api does not exist
import static org.junit.jupiter.api.Assertions.fail;
                               ^
 src\r.java:1: error: static import only from classes and interfaces
 import static org.junit.jupiter.api.Assertions.fail;
 ^
 src\r.java:2: error: package org.junit.jupiter.api does not exist
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
                               ^
 src\r.java:2: error: static import only from classes and interfaces
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 ^
 src\r.java:4: error: package org.junit.jupiter.api does not exist
 import org.junit.jupiter.api.Afterall;
                        ^
 src\r.java:5: error: package org.junit.jupiter.api does not exist
 import org.junit.jupiter.api.AfterEach;
                        ^
 src\r.java:6: error: package org.junit.jupiter.api does not exist
 import org.junit.jupiter.api.BeforeAll;
                        ^
 src\r.java:7: error: package org.junit.jupiter.api does not exist
 import org.junit.jupiter.api.BeforeEach;
                        ^
 src\r.java:8: error: package org.junit.jupiter.api does not exist
 import org.junit.jupiter.api.disabled;
                        ^
 src\r.java:9: error: package org.junit.jupiter.api does not exist
 import org.junit.jupiter.api.Test;
                        ^
 src\r.java:13: error: cannot find symbol
 @BeforeAll
 ^
 symbol:   class BeforeAll
 location: class r
 src\r.java:17: error: cannot find symbol
 @BeforeEach
 ^
 symbol:   class BeforeEach
 location: class r
 src\r.java:21: error: cannot find symbol
 @Test
 ^
 symbol:   class Test
 location: class r
 src\r.java:25: error: cannot find symbol
 @Test
 ^
 symbol:   class Test
 location: class r
 src\r.java:30: error: cannot find symbol
 @Test
 ^
 symbol:   class Test
 location: class r
 src\r.java:31: error: cannot find symbol
 @disabled("for demonstration purposes")
 ^
 symbol:   class disabled
 location: class r
 src\r.java:36: error: cannot find symbol
 @Test
 ^
 symbol:   class Test
 location: class r
 src\r.java:42: error: cannot find symbol
 @AfterEach
 ^
 symbol:   class AfterEach
 location: class r
 src\r.java:46: error: cannot find symbol
 @Afterall
 ^
 symbol:   class Afterall
 location: class r
 src\r.java:27: error: cannot find symbol
    fail("a failing test");
    ^
 symbol:   method fail(String)
 location: class r
 src\r.java:38: error: cannot find symbol
    assumeTrue("abc".contains("Z"));
    ^
 symbol:   method assumeTrue(boolean)
 location: class r
 src\r.java:39: error: cannot find symbol
    fail("test should have been aborted");
    ^
 symbol:   method fail(String)
 location: class r
 22 errors

我的代码https://junit.org/junit5/docs/current/user-guide/的模板

     import static org.junit.jupiter.api.Assertions.fail;
     import static org.junit.jupiter.api.Assumptions.assumeTrue;

     import org.junit.jupiter.api.Afterall;
     import org.junit.jupiter.api.AfterEach;
     import org.junit.jupiter.api.BeforeAll;
     import org.junit.jupiter.api.BeforeEach;
     import org.junit.jupiter.api.disabled;
     import org.junit.jupiter.api.Test;

 class r {

@BeforeAll
static void initAll() {
}

@BeforeEach
void init() {
}

@Test
void succeedingtest() {
}

@Test
void failingtest() {
    fail("a failing test");
}

@Test
@disabled("for demonstration purposes")
void skippedtest() {
    // not executed
}

@Test
void abortedtest() {
    assumeTrue("abc".contains("Z"));
    fail("test should have been aborted");
}

@AfterEach
void tearDown() {
}

@Afterall
static void tearDownAll() {
}

 }

我做错了什么? 请帮忙!

解决方法

org.junit.juniper软件包表示您的代码使用JUnit 5。

但是您的类路径中只有JUnit 4。

要么遵循JUnit 4 user guide,要么更改您的类路径以包含JUnit 5。