有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaMaven测试类如何访问源类

我有一个典型的maven项目,其中目录结构是:

src/main/java/SrcClass.java

public class SrcClass {
    public int srcMethod() {return 0;}
}

src/test/java/TestClass.java

@RunWith(JunitParamsRunner.class)
public class TestClass
@Test
public void testThis() {
     SrcClass srcClass = new SrcClass();
     int result = srcClass.srcMethod();
     assertEquals(result, 0);
}

当我像往常一样使用以下命令运行测试用例时:

mvn clean test -Dtest=TestClass#testMethod

它能够成功运行。我想知道它到底是怎么工作的。我的意思是测试类和src类位于不同的目录中,并且不是同一个jar的一部分。我需要知道这一点,因为我很难调试一个问题,需要更好地理解Maven和Spring的工作原理

上面命令中的另一个问题是clean是否同时适用于源类和测试类

谢谢


共 (1) 个答案

  1. # 1 楼答案

    访问类的方法是通过JAVA类路径。Maven生成需要添加到系统类路径的文件夹,然后将它们注入到环境中

    将类文件所在的文件夹添加到类路径后,Java将负责查找类

    mvn clean适用于Maven在构建期间生成的所有文件夹。你可以在这里找到更多信息。 https://maven.apache.org/plugins/maven-clean-plugin/usage.html