testing - 在gradle junit测试中使用可执行文件

标签 testing gradle junit binary executable

我有一个要在测试中使用的二进制文件。我想将此二进制文件放入test / resources文件夹中,以便任何加载项目并运行测试的人都可以访问该二进制文件,并且该测试无需任何额外的配置即可运行。我的问题是,该测试是通过gradle任务运行的,我找不到任何有关如何让gradle以使测试使用它的方式查看二进制文件的信息。

我在测试中使用

String command = "cf";  
Process proc = Runtime.getRuntime().exec(command, null, null);

cf可执行文件位于test / resources文件夹内。

就这样,我得到了错误:无法运行程序“cf”:CreateProcess错误= 2,系统找不到指定的文件

最佳答案

问题在于command将在CWD中查找文件cf。您需要通过类加载器找到它,如下所示:

String command = getClass().getResource("cf").getFile();

这将为您提供可执行文件的绝对路径。

关于testing - 在gradle junit测试中使用可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38251948/

相关文章:

Gradle 依赖管理强制版本

Android Studio 3.0.1 未能将 android-library 依赖项添加到 java-library 模块

spring - 从另一个gradle任务运行gradle测试

c# - 测试更多输入

windows - 寻找可以扫描 windows api 兼容性问题的工具

java - 在 Java 中测试并发性

java - WELD-00143 伪作用域 bean 具有循环依赖性

node.js - 在 Node.js 中模拟服务器 - 流分隔文件,暂停 1 秒

java - 在 Android 上使用 Gradle 进行依赖管理

java - 基于 Spring 配置文件的条件 JUnit 4 测试执行