问题解决了,需要关闭文件。 修复后的代码如下:
class Debug
def initialize
file = File.new("debug.txt", "w+:UTF-8")
3000.times { |row| file.puts row }
# close the file
file.close
puts File.read("debug.txt")
end
end
Debug.new
另外,如果使用FileUtils.mv(original_file, target_file)
的话,需要关闭original_file
。
试试判断页面某个元素是否存在
Watir::Wait.until { something }
赞。 性能确实木有自带的 Struct 好,不过某些读取 yml 之类的代码能简洁很多。我在做的内部测试脚本里的对象描述就应用到了 OpenStruct,RecursiveOpenStruct就是一个增强版的 OpenStruct,复杂的 symbol 也能描述,看源码也很好理解。
#9 楼 @piecehealth #10 楼 @5swords
接触这种元编程比较少,好酷!
这样我重新定义一个包括method_missing
这个方法的类,如果有很多个这种描述对象的类(按模块分),只要继承就好了。果然 D.R.Y.
真的学习了。
#4 楼 @showlovel #5 楼 @Rei 谢谢骚年们。
#1 楼 @libuchao #2 楼 @showlovel 原来如此,那么 XP 下怎么升到 Ruby2.0 呢,我只装了个 railsinstaller。 百度了下 XP 下有个叫 pik 的东西能实现 rvm 的功能,一定要装这个?
我刚开始学,教程里也是推荐 TDD(测试驱动开发)。→_→http://railstutorial-china.org/ 个人感觉比 { 开发->测试 } 这个流程效率要高,最重要的还是测试用例的设计,如果没做过测试的话这方面可能是要生疏点。