`
chenk85
  • 浏览: 42465 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表

[置顶] Blog地址

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方法出现了,再也不 ...
控制器 基本的控制助手方法 如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 ...
五一的两天空余时间,读完了持续集成这本书。 Continuous Integration,持续集成,简称CI。这是一项业界推荐的软件开发实践,是XP中提到的实践之一。CI有四个特征: 与版本控制系统的连接 构建脚本 某种类型的反馈机制 集成源代码变更的过程 CI的价值在于: 减少风险 减少重复过程 在随时随地生成可部署的软件 对开发团队的软件产品建立起更大的产品信心 CI的步骤: “I Build So Consistently”。四个步骤:“Identify”,“Build”,“Share”,“Continuous”。 CI的实践: 经常提交 ...
ActiveRecord::Base.create 现在可以像 ActiveRecord::Base.new 一样带上一个代码块参数了。 @person = Person.create(params[:person]) do |p|  p.name = 'Konata Izumi'  p.age = 17 end
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 ...
原文: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 ...
原文: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 "为真" ...
Apriori的算法实现,上课用到了。老师从网上找了一个300多行代码的Ruby实现,太复杂了,改了一下,太麻烦,自己重写过。 下面是实现代码   转移到: http://www.chenk85.com/2008/05/apriori算法的ruby实现
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框架的宏,断言和助手方 ...
安装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 ...
买回来了本本HP6520s(KS260PA)。6850RMB(一本,一电,一鼠,一包,一清洁)+135RMB(1条KS的内存)。
autotest是个方便的测试工具,ZenTest的组件之一,对Rspec支持很好。 在Peedcode的教学视频中很多时候看到作者用autotest时,测试结果会以桌面系统Notify的形式通知用户,每次看到都觉得好羡慕。其实在Gnome环境下的同学不用羡慕,因为在Gnome下也可以,把你Home目录下的.autotest文件(附件有),加入以下代码,并把附件中的图片文件放到Home下(把dot改为.)。
Eager Loading是ActiveRecord的一个数据查询的优化措施,在查询model的时候连同它的关联对象都全查询出来(通过一条包含LEFT OUTER JOIN的SQL语句)。但是在你使用了Eager Loading后,如果还是用一些会触发数据库本身的统计函数的查询方法(如count,average等)的话,那前面的Eager Loading就白费了。下面给出例子:
Global site tag (gtag.js) - Google Analytics