java - 是否可以在 Junit 测试中运行 java 程序?

标签 java testing junit

<分区>

上下文:

我的公司有一个用 Java 编写的工具,它在命令行界面上运行。要在命令行上运行此工具:

gradle clean
gradle build
cd multiple times
unpack rar files 
./run_tool.sh parameter1 parameter2 parameter3

我的公司还有一个由 JUnit 测试组成的自动化测试代码库。我必须编写一个运行该工具的自动化测试。

我知道可以在 Java 程序中运行脚本。但是,我看到的例子并没有说明如何运行带有参数的脚本。此外,我看到的示例是简单的脚本,而不是完整的 Java 程序。

我不知道我正在尝试做的事情是否可行。任何人都可以建议可能的方法吗?

最佳答案

如果该工具是用 Java 编写的,那么直接在 JUnit 测试中使用它的类可能更有意义。您必须将该工具作为 JAR 文件发布到您公司的 Maven 存储库(Nexus、Artifactory 等)中,并将其作为 Maven/Gradle 依赖项挂接到您的测试中。

从 Java 执行 shell 命令当然是可能的,但要复杂得多。

关于java - 是否可以在 Junit 测试中运行 java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57678639/

相关文章:

logging - jUnit 特定记录器的 Logback 记录器名称通配

java - 在 Java 中比较两个相似的 XML 数据与无序元素/属性

java - 使用自动安装 JDK 在 Windows 7 上安装和配置 Jenkins

java - 找不到 spring 类路径资源,因为它不存在

java - 使用 Spring MVC 3 + Hibernate 更新持久对象的 "correct"或 "safe"方法是什么?

unit-testing - 为什么在尝试使用 Mockito 或 PowerMock 模拟单例时不抛出任何异常?

node.js - 如何为错误测试目的在 rest API 上创建 500 错误?

ios - 将 xcode 分析器与葫芦测试框架集成

java - JUnit4 使用测试套件运行特定包中的所有测试

java - AsyncTask 不是异步的吗?