我有 2 个具有共生关系的 Java 类。
类 1 生成一些输出文件,类 2 使用类 1 的输出并验证它。这两个类都从命令行获取输入。该项目基于 Maven。
鉴于这种共生性质,我不确定如何“连接它们”?
我的想法是,编写另一个 Java 类,它接受命令行输入并调用这两个类。然而,这里还有另一个不确定性,我如何运行类 1(为了生成输出文件),然后我可以让类 2 来验证它。也许 Junit @Before 或一些注释?我真的不确定如何继续。我希望我在这里说得有道理。
任何帮助或建议将不胜感激。
最佳答案
从 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 中要简单得多。
关于java - 如何通过mvn命令顺序执行2个Java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35690470/