2016-09-23 58 views
-1

我有一個典型的Maven項目所在目錄結構爲:的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

訪問的類的方法是通過Java類路徑。 Maven生成需要添加到系統CLASSPATH中的文件夾,然後將它們注入到環境中。

一旦您的類文件所在的文件夾被添加到CLASSPATH,Java就會負責查找類。

mvn clean適用於構建期間由Maven生成的所有文件夾。您可以在這裏找到更多信息。 https://maven.apache.org/plugins/maven-clean-plugin/usage.html