Java 单元测试一般使用 JUnit,但是总有些接口测试不便,需要特殊操作,当然可能如下方法并不被提倡,只作不时之需。
生成临时测试文件
1 2 3 4 5 6 7 8 9 10 11 12 13
| File f = null; try { f = File.createTempFile("tmp-", ".txt", new File("test")); BufferedWriter out = new BufferedWriter(new FileWriter(f)); out.write("Hello World!"); out.close(); } catch (IOException e) { e.printStackTrace(); } finally { f.deleteOnExit(); }
|
Properties 设置
1 2 3
| Properties props = new Properties(); props.setProperty("XXXX", "/xxx/xxx/xxx.properties"); System.setProperties(props);
|
解除保护重新加载
有时测试需要重新加载 static 方法,可使用反射办到,如下:
1 2 3 4 5 6 7 8 9 10 11 12
| ObjectXXX c = new ObjectXXX(); Method methods[] = ObjectXXX.class.getDeclaredMethods(); for(int i = 0; i < methods.length; i++) { if (methods[i].getName().equals("XXX")) { methods[i].setAccessible(true); methods[i].invoke(c, args); } }
|