<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d3443179681250049771\x26blogName\x3dNewbie+On+Rails\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLACK\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://l404.blogspot.com/search\x26blogLocale\x3dzh_CN\x26v\x3d2\x26homepageUrl\x3dhttp://l404.blogspot.com/\x26vt\x3d-4382633446460227058', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Newbie On Rails

方便初学Rails的朋友们快速上手并驶入BDD敏捷之道。

Ubuntu8.10上小试Rails-AutoTest

2009年2月12日星期四

1. 下载并安装Mumbles

$ cd ~/downloads
$ wget http://nchc.dl.sourceforge.net/sourceforge/mumbles/mumbles_0.4-1_all.deb
(该版本不支持自定义图标,好在我们还可以掌控消息标题和消息内容。)

进入~/downloads目录双击文件mumbles_0.4-1_all.deb进行安装。

安装成功后启动 Mumbles,点击 应用程序 -> 附件 -> Mumbles(启动后Mumbles的图标会出现在任务栏的右边);输入:

$ mumbles-send "test title" "test message"

这会在右上角紧贴任务栏处显示一块黑底白字,停留几秒后就自动消失了;说明Mumbles已安装成功且能正常使用。

也可以把Mumbles加入到系统启动项,这样一开机Mumbles就自动运行了;如果不想加入启动项,记得测试之前必须先启动Mumbles。


2. 下载并解压ruby-dbus,可以从这里下载:https://trac.luon.net/ruby-dbus/

$ cd ~/downloads
$ wget --no-check-certificate https://trac.luon.net/data/ruby-dbus/releases/ruby-dbus-0.2.1.tar.gz
$ tar -xzvf ruby-dbus-0.2.1.tar.gz
$ cd ruby-dbus-0.2.1

查阅README文件后按指示进行安装:

$ ruby setup.rb config
$ ruby setup.rb setup
$ ruby setup.rb install

启动irb检查ruby-dbus是否安装成功:

$ irb
irb(main):001:0> require 'dbus'
=> true

返回true,即ruby-dbus安装成功且能正常使用,可以删除无用文件了。

$ rm -rf ~/downloads/ruby-dbus-0.2.1


3.创建 .autotest 文件

由于autotest这个自动测试命令基于ZenTest,所以系统需安装ZenTest这个Ruby Gem包才行;若使用 gem list 命令看不到ZenTest项可按如下方式进行安装。

$ gem install ZenTest

接下来可以在用户所在的 $HOME 目录或者项目所在的根目录创建一个 .autotest文件;

$ gedit ~/.autotest

填充如下代码(http://gist.github.com/62446):

require 'dbus'

def send_message(title, message)
begin
bus = DBus::SessionBus.instance
mumbles_service = bus.service("org.mumblesproject.Mumbles")
mumbles = mumbles_service.object("/org/mumblesproject/Mumbles")
mumbles.introspect
mumbles_iface = mumbles["org.mumblesproject.Mumbles"]
sig = mumbles_iface.signals["Notify"]
bus.emit(mumbles_service, mumbles, mumbles_iface, sig, title, message)
rescue Exception => e
end
end

Autotest.add_hook :ran_command do |at|
begin
results = at.results.last
unless results.nil?
output = results[/(\d+)\s+examples?,\s*(\d+)\s+failures?(,\s*(\d+)\s+pending)?/]
if output
failures = $~[2].to_i
end
if failures > 0
send_message("Tests Failed", "#{output}")
else
unless at.tainted
send_message("All Tests Passed", "#{output}")
else
send_message("Tests Passed", "#{output}")
end
end
end
rescue Exception => e
end
end

Ctrl+S保存并退出(该脚本暂未支持cucumber的测试结果)。


4.开始测试之旅

接下来测试一小段代码开始我们的autotest之旅。

$ cd ~/code
$ rails rails_autotest
$ cd rails_autotest
$ ./script/generate rspec
$ ./script/autospec (stop by Ctrl+Z)
$ ./script/generate rspec_scaffold post title:string
$ rake db:migrate
$ rake db:test:clone
$ ./script/autospec


相关阅读

RSpec, autotest and Snarl on Windows 自动测试完了一声吼
mumble your tests 这篇文章介绍的Mumbles修订版可以为消息提示框加上自定义的图标。
ubuntu 下 rails/rspec/autotest 自动测试环境搭建 介绍另一种更酷的Rails/autptest方法,更漂亮的效果提示框。推荐!

标签: , , ,

2 条评论

  1. Blogger 404 Says:

    Ubuntu 9.04引入notify-osd

    http://www.cnbeta.com/articles/77494.htm

  1. Blogger 404 Says:

    Watir - Web App Testing in Ruby

    http://wtr.rubyforge.org/index.html

» Leave a Reply

订阅 博文评论 [Atom]

« 主页