- 浏览: 43740 次
- 性别:
- 来自: 杭州
最近访客 更多访客>>
最新评论
-
daoshud1:
教程呢?在哪
SVN简单图文教程 -
macleo:
javaeye的微博
Pacman使用笔记 -
fantasybei:
def Test回车后会自动缩进嘛?我这里好像不行
很好很强大的VIM -
不是流氓:
这样是很清爽受益菲浅阿,比it "should*** ...
Rspec测试代码重构 -
yuxie:
。。代码在哪里 ?
Apriori算法的Ruby实现
文章列表
http://thekaiway.com
http://github.com/kaichen
来自:http://redworld.blog.ubuntu.org.cn/2008/06/23/refactoring_rspec_code/
消除Spec中的冗余,减少浪费。
看到ben的Blog写了一篇关于Rspec的测试宏的文章:
http://www.benmabey.com/2008/06/08/writing-macros-in-rspec/
其实很多人都是看到Tammer Saleh在MountainWest_Ruby_Conference2008上的Shoulda演示后,和我有一样的感想,就是如果如此DSL化,如此DRY的测试宏能用在Rspec上那就好了。那时我还把Sho ...
Rspec新版本发布了。来看看它又带来了什么。
hash_including方法,它能让开发者在Mock接受参数时不用指定全部参数,只需要指定应包含某个键值对。示例代码如下:# beforeaccount.should_receive(:deposit).with({:amount => 37.42, :date => anything()})# in 1.1.4account.should_receive(:deposit).with(hash_including(:amount => 37.42))修正了heckle支持的bug。
stub_model方法出现了,再也不 ...
- 2008-05-29 09:45
- 浏览 861
- 评论(0)
控制器
基本的控制助手方法
如ActiveRecord宏一样,Shoulda 提供了一套测试控制器的宏,以尽可能简洁的方法进行测试。所有的这些方法都在Shoulda的Rdoc中,但这里再送上一个快捷的例子:
class UsersControllerTest < Test::Unit::TestCase
context "on GET to :show" do
setup { get :show, :id => 1 }
should_assign_to :user
should_respond_with :su ...
- 2008-05-18 02:02
- 浏览 788
- 评论(0)
五一的两天空余时间,读完了持续集成这本书。
Continuous Integration,持续集成,简称CI。这是一项业界推荐的软件开发实践,是XP中提到的实践之一。CI有四个特征:
与版本控制系统的连接
构建脚本
某种类型的反馈机制
集成源代码变更的过程
CI的价值在于:
减少风险
减少重复过程
在随时随地生成可部署的软件
对开发团队的软件产品建立起更大的产品信心
CI的步骤:
“I Build So Consistently”。四个步骤:“Identify”,“Build”,“Share”,“Continuous”。
CI的实践:
经常提交 ...
- 2008-05-12 17:27
- 浏览 932
- 评论(0)
ActiveRecord::Base.create 现在可以像 ActiveRecord::Base.new 一样带上一个代码块参数了。
@person = Person.create(params[:person]) do |p|
p.name = 'Konata Izumi'
p.age = 17
end
- 2008-05-12 15:45
- 浏览 856
- 评论(0)
ActiveRecord助手方法
Shoulda具有一套ActiveRecord测试宏,这让开发效率大大提高,TDD变得轻而易举。关于这个方面的所有的文档都在Shoulda的Rdoc中。下面就来个小小的例子:
class UserTest :dogs
should_belong_to :lover
end
上面的代码创建了如下的测试:
test: Person should allow phone_number to be set to “(123) 456-7890″.
test: Person should belong to lover.
test: Person ...
- 2008-05-11 05:28
- 浏览 965
- 评论(0)
原文:http://thoughtbot.com/projects/shoulda/tu×ial/context
上下文
在学习了Should语句之后,Shoulda的更多基本构建代码的知识就是上下文(Context)。上下文创建一个运行should语句的类似场景的fixture。Context代码块可以包含 setup/teardown 代码块,should代码块,或者其他context代码块。下面来试试在测试中使用简单的context:
class QueueTest < Test::Unit::TestCase
context "一个队列实例" do
...
- 2008-05-10 08:47
- 浏览 916
- 评论(0)
原文:http://thoughtbot.com/projects/shoulda/tu×ial/should
Should 语句
Should语句是一种简洁,优雅,高可读性的方式创建测试。Should语句能轻松地创建测试方法,所以完全向后兼容一般的Test::Unit 用法
class QuoteTest < Test::Unit::TestCase
def setup
# 和一般的Test::Unit一样
end
def test_should_be_true
assert true
end
should "为真" ...
- 2008-05-10 07:06
- 浏览 851
- 评论(0)
Apriori的算法实现,上课用到了。老师从网上找了一个300多行代码的Ruby实现,太复杂了,改了一下,太麻烦,自己重写过。
下面是实现代码
转移到:
http://www.chenk85.com/2008/05/apriori算法的ruby实现
- 2008-05-10 05:13
- 浏览 1346
- 评论(1)
Shoulda是一个Rails插件,一个让Test::Unit也BDD的框架。这是官方的广告语:
Shoulda – Making tests easy on the fingers and eyes
我是在MountainWest RubyConf 2008的视频看到Tammer Saleh 讲了Shoulda才知道这个框架的:
http://mwrc2008.confreaks.com/12saleh.html
下面是官方资料的一点翻译:
Shoulda Rails插件能让你轻松地写出优雅,易懂,易维护的测试。Shoulda 包含了添加到了Test::Unit框架的宏,断言和助手方 ...
- 2008-05-03 11:19
- 浏览 1057
- 评论(0)
安装Arch的方法很简单,但是记得在分区时要把swap设置到大于等于内存容量,才能休眠。一开始没有设好swap,结果怎么也休眠不了。
由于本本的特殊性要安装下列软件包:
apci,apcid - 高级电源支持
dus hal udev - 自动挂载
pmtools - 休眠
powertop - 本本节能工具
hotkey-setup laptop-mode-tools - 笔记本支持工具
cpudyn cpufreqd cpufrequtils CPU支持
iwlwifi-3945-ucode - 无线网卡驱动
参考
http://wiki.archlinux.org/in ...
- 2008-04-14 01:30
- 浏览 1235
- 评论(0)
买回来了本本HP6520s(KS260PA)。6850RMB(一本,一电,一鼠,一包,一清洁)+135RMB(1条KS的内存)。
- 2008-04-14 00:29
- 浏览 759
- 评论(0)
autotest是个方便的测试工具,ZenTest的组件之一,对Rspec支持很好。
在Peedcode的教学视频中很多时候看到作者用autotest时,测试结果会以桌面系统Notify的形式通知用户,每次看到都觉得好羡慕。其实在Gnome环境下的同学不用羡慕,因为在Gnome下也可以,把你Home目录下的.autotest文件(附件有),加入以下代码,并把附件中的图片文件放到Home下(把dot改为.)。
- 2008-03-13 05:46
- 浏览 840
- 评论(0)
Eager Loading是ActiveRecord的一个数据查询的优化措施,在查询model的时候连同它的关联对象都全查询出来(通过一条包含LEFT OUTER JOIN的SQL语句)。但是在你使用了Eager Loading后,如果还是用一些会触发数据库本身的统计函数的查询方法(如count,average等)的话,那前面的Eager Loading就白费了。下面给出例子:
- 2008-03-13 05:05
- 浏览 859
- 评论(0)