测试 rspec 中 关于 describe 的疑问

tsinghan · 2012年11月12日 · 最后由 blueplanet 回复于 2012年11月13日 · 3527 次阅读

use “description” for non-methods use pound “#method” for instance methods use dot “.method” for class methods

用# 和 . 来分别代表 instance methods 和 class methods 是什么意思?

User#method 表示测试 User 的实例方法 User.method 表示测试 User 的类方法

举个例子来说说看

#1 楼 @tumayun 举个例子来说说看

#1 楼 @tumayun 那我 describe "#amount" do; end 应该只是个描述吧 我 block 里面不一定非要测试实例方法吧?

就是说你要测试的方法是实例方法还是类方法 比如你测试Userperform实例方法可以用:

describe 'User#perform' do

  it ...
end

而测试类方法你可以:

describe 'User.perform' do

  it ....
end

只是一个说明或则解释的作用

@TsingHan 是的 只是一个描述性文字,但是遵循一定的规范可以让人赏心悦目

#5 楼 @tumayun 我觉得也只是个说明描述的意思

并不完全是描述。 比如在使用rspec-rails的时候,

describe "books/index"
  it "..." do
    ...
    render
    ...
  end
end

这里执行render的时候就会渲染views/books/index.html.erb这个文件。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号