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

时间:2016-07-07 17:40:45

标签: 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 error = 2,系统找不到指定的文件

1 个答案:

答案 0 :(得分:0)

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

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

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