本人在使用java做了一个基础的接口测试框架,然后用groovy做用例编写的过程中,发现了一些java框架和groovy不兼容的情况。在此汇总一下:
1.文件操作
遇到的问题:java框架中有自动保存日志的功能,会创建一个log文件,然后把内容写到文件中。在使用groovy测试时,保存日志一直在创建文件报错,最终放弃了由groovy创建文件的方案。
具体报错的方法:
/** * 写入文本信息,会自动新建文件 * * @param file file对象,必须是存在的路径 * @param text 写入的内容,如果file存在,续写 */ public static void writeText(File file, String text) { if (!file.exists()) try { file.createNewFile();//报错 } catch (IOException e) { e.printStackTrace(); } try { FileWriter fileWriter = new FileWriter(file, true); BufferedWriter bw1 = new BufferedWriter(fileWriter); bw1.write(text);// 将内容写到文件中 bw1.flush();// 强制输出缓冲区内容 bw1.close();// 关闭流 } catch (IOException e) { e.printStackTrace(); } }
尝试过mkdir()方法也会报错。
2.强制类型转换
遇到问题:在封装sleep方法时,本意想用整数和小数来控制时长,groovy一直提示无法强制转化,最后只能放弃这个方法,该做int类型传参,具体方法如下:
/** * 休眠 * * @param second 秒,可以是小数 */ public static void sleep(Number second) { try { Thread.sleep((long) ((double) second * 1000)); } catch (InterruptedException e) { e.printStackTrace(); } }未完待续……