我在看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-例如,仅将数据保存在内存中的一种实现。

这意味着您可以测试使用此方法的任何逻辑,而不必担心确保存在真实的文件系统并且它处于适当的状态。

10-07 15:26