我想测试以下方法,特别是调用了 write 和 close 方法(在写检查的情况下,所写的是我所期望的)。真正的源代码是 Java,我正在用 Groovy 编写测试。我不能使用地图强制,因为没有默认构造函数。我尝试了 mockFor 和 metaClass,但只有当我将源代码更改为 groovy 并在 groovy 中进行单元测试时,我才能让它们工作。我有任何常规选项来测试此代码吗?下面的代码是 groovy,但 java 方法源非常相似。生成一个真正的标头,执行一些日期逻辑,然后写入结果。
class TestWriter {
protected void writeResultToXMLFile(String response,FileWriter fw, Date today){
String header = "header";
try{
fw.write(header);
fw.close();
} catch (IOException ioe){
String errorMessage = "Unable to write to file";
try{
fw.close();
}catch (IOException ioException){
errorMessage += ", Error attempting to close the file";
}
}
}
}