我有两个Java类,它们之间存在共生关系。
类1产生一些输出文件,类2使用类1的输出并验证它。这两个类都从命令行获取输入。这个项目是基于maven的。
鉴于这种共生的性质,我不确定如何“连接它们”?
我的想法是,编写另一个Java类,它接受命令行输入并调用这两个类。然而,这里还有另一个不确定性,我如何运行class 1(以便产生输出文件),这样我就可以让class 2验证它。可能是之前的Junit @或者一些注解?我真的不知道该怎么做。我希望我在这里说得有道理。
任何帮助或建议都将不胜感激。
发布于 2016-03-02 18:31:24
从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中要简单得多。
https://stackoverflow.com/questions/35690470
复制相似问题