我有一个要在测试中使用的二进制文件。我想将此二进制文件放入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/