我刚刚阅读了" 巧合编程 "一文.在页面的末尾有练习.一些代码片段是"巧合编程"的案例.但我无法弄清楚这篇文章中的错误:
此代码来自通用Java跟踪套件.该函数将字符串写入日志文件.它通过了单元测试,但是当其中一个Web开发人员使用它时失败.它依赖什么巧合?
public static void debug(String s) throws IOException {
FileWriter fw = new FileWriter("debug.log", true);
fw.write(s);
fw.flush();
fw.close();
}
Run Code Online (Sandbox Code Playgroud)
这有什么问题?
And*_*are 10
此代码依赖于以下事实:debug.log在应用程序的执行目录中存在一个可写的文件.很可能Web开发人员的应用程序没有使用此文件设置,并且该方法在尝试使用它时失败.
此代码的单元测试将起作用,因为原始开发人员在正确的位置(并具有正确的权限)具有正确的文件.这是允许单元测试成功的巧合.
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |