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方法,更漂亮的效果提示框。推荐!
$ 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方法,更漂亮的效果提示框。推荐!
2009年2月21日 23:56
Ubuntu 9.04引入notify-osd
http://www.cnbeta.com/articles/77494.htm