2016-02-29 38 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中要简单得多。

相关问题