2016-02-29 97 views
0

我有2個具有共生關係的Java類。如何通過mvn命令順序執行2個Java類

第1類產生一些輸出文件,第2類消耗第1類的輸出並驗證它。這兩個類都從命令行輸入。這個項目是基於Maven的。

鑑於這種共生性質,我不確定如何「連接它們」?

我的想法是編寫另一個接受命令行輸入並調用2個類的Java類。然而這裏還有另一個不確定的地方,我怎麼能運行類1(爲了生成輸出文件),然後我可以讓類2驗證它。也許Junit @Before或者一些註解?我真的不確定如何繼續。我希望我在這裏有意義。

任何幫助或建議將不勝感激。

+0

是那些類測試? – khmarbaise

+0

Class2是對class1的輸出的測試,class1是一個實用程序 –

+0

比你應該簡單地寫一個測試這個測試..? – khmarbaise

回答

2

從JUnit方法中執行被測試類的main()方法。

public class Class2 { 
    @Before 
    public void produceOutputFiles() { 
     Class1.main(new String[] { "these", "are", "commandline", "arguments"}); 
    } 

    @Test 
    public void validateClass1Output() { 
     //read in the files and validate the output 
    } 
} 

通過Process.exec()調用Class1是一個有很多缺點的選項。將測試代碼和測試代碼保存在同一個JVM中要簡單得多。