我在看android源代码,发现了此代码。
/**
* Interface used in {@link #createUniqueFile} instead of {@link File#createNewFile()} to make
* it testable.
*/
/* package */ interface NewFileCreator {
public static final NewFileCreator DEFAULT = new NewFileCreator() {
@Override public boolean createNewFile(File f) throws IOException {
return f.createNewFile();
}
};
public boolean createNewFile(File f) throws IOException ;
}
如何测试?有人可以将我重定向到可以看到更多示例的地方吗?
最佳答案
原因是,在您的测试中,无论使用什么位置,都可以用不同的实现替换NewFileCreator-例如,仅将数据保存在内存中的一种实现。
这意味着您可以测试使用此方法的任何逻辑,而不必担心确保存在真实的文件系统并且它处于适当的状态。