摘要:
今天在读rspec源代码的时候发现rspec会自动去load一些以_spec结尾的文件作为example 和 example group。在这里顺便说一下ruby里load和require的区别。load: 加载文件,比如load 'example.rb',不放重复加载require: 加载文件,比如load 'example',只加载1次代码说明: 新建2个文件。test.rb, file_to_be_load.rbfile_to_be_load.rbputs 'It is in ' + __FILE__test.rbrequire ' 阅读全文
摘要:
在使用watir-webdriver进行测试的时候我们会发现启动1个Firebox浏览器需要很长的一段时间。那么这个时间到底有多长呢?下面的代码可以测试一下。# encoding: utf-8 t_start_require = Time.newrequire 'rubygems'require 'watir-webdriver't_end_require = Time.new require_time = t_end_require - t_start_requireputs 'require_time ' +require_time.to_s 阅读全文
摘要:
观察者模式应该是最容易理解的设计模式了。考虑这个例子。作为雇员的你当工资发生改变的时候你会想到什么?请朋友吃饭?给女朋友买衣服?给自己买台Iphone4?很可惜,你所增加的那点可怜的工资恐怕难以支持你做以上这些事情吧。当你工资增加之后,你的个人所得税理所当然的增加了;你的住房公积金提高了;你的社保不出意外也要多交了。剩下来的那点应该也不够塞牙了。这个理应是喜剧的杯具中实际上包含了观察者模式的基本概念。在这个例子中,社保局、税务局实际上是你的观察者。当你的工资发生变化时,你(一般来说是你的雇主)会通知有关部门,以便有关部门能够根据你的收入调整税收或社保政策。下面的代码(使用ruby1.9实现,1 阅读全文