【问题标题】:How to sequentially execute 2 Java classes via mvn command如何通过 mvn 命令顺序执行 2 个 Java 类
【发布时间】:2016-06-11 22:56:45
【问题描述】:

我有 2 个具有共生关系的 Java 类。

第 1 类产生一些输出文件,第 2 类使用第 1 类的输出并对其进行验证。这两个类都从命令行获取输入。这个项目是基于 maven 的。

鉴于这种共生性质,我不确定如何“连接它们”?

我的想法是,编写另一个 Java 类,它接受命令行输入并调用这 2 个类。但是这里还有另一个不确定性,我如何运行类 1(为了生成输出文件),然后我可以让类 2 来验证它。也许 Junit @Before 或一些注释?我真的不确定如何进行。我希望我在这里有意义。

任何帮助或建议将不胜感激。

【问题讨论】:

  • 这些课程是测试吗?
  • Class2 是对 class1 输出的测试,class1 是实用程序
  • 比你应该写一个简单的测试来测试这个..?

标签: java maven junit command-line-arguments


【解决方案1】:

在 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 中要简单得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多