NetBeans7.0でテスト
ファイルの読込みをテストしようとしたが、、、
- テスト対象クラス
public class Reader { public static Map<String, String> getMapFromTxt1() { Map<String, String> map = new TreeMap<String, String>(); String path = new File(getPath()).getParent(); StringBuilder sb = new StringBuilder(); sb.append(path).append(File.separator).append("xxx.txt"); BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(sb.toString())); for (String line = reader.readLine(); line != null; line = reader.readLine()) { // ☆ここをモック // System.out.println("line=" + line); String[] values = line.split(","); map.put(values[0], values[1]); } } catch (FileNotFoundException ex) { Logger.getLogger(Reader.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(Reader.class.getName()).log(Level.SEVERE, null, ex); } finally { if (reader != null) { try { reader.close(); } catch (IOException ex) {} } } return map; } private static String getPath() { return "/Users/tomo/test1/test2/test3"; } }
- テストクラス
public class ReaderTest { @Test public void testSomeMethod() throws Exception { new Expectations(){ final FileReader fileReader = null; BufferedReader reader; { new BufferedReader(new FileReader("file")); } { reader.readLine(); // ☆ここでモックを設定 returns("11,aaa"); returns(null); reader.close(); } }; Map<String, String> map = Reader.getMapFromTxt1(); for (String key : map.keySet()) { System.out.println("key=" + key); } } }
Missing invocation of ... エラーが発生?