我正在关注rails3tutorial,在进行一些测试时,我不明白“it”关键字的含义如下:
require 'spec_helper'
describe UsersController do
render_views
describe "GET 'new'" do
it "should be successful" do
get 'new'
response.should be_success
end
it "should have the right title" do
get 'new'
response.should have_selector("title", :content => "Sign up")
end
end
end
代码片段来自:http://ruby.railstutorial.org/chapters/filling-in-the-layout#top,列出5.26
答案 0 :(得分:18)
我认为其他答案可以更加明确,最初让您感到困惑的是it
打破了方法命名的大多数常规约定(没有关于方法描述它的作用,例子)为了使代码作为一个整体读作一种句子。
因此,库不仅仅是创建一组测试,而是试图鼓励您通过类似于人类可读规范的方式描述您的应用程序。
答案 1 :(得分:14)
它不是Ruby关键字,它是Rspec framework的一部分。
it
包含说明行为方面的代码示例
定义。它由两个主要部分组成:描述字符串和
代码示例,在do / end块中。
答案 2 :(得分:5)
答案 3 :(得分:2)
在一般的单元测试意义上,我们使用describe来描述类的行为:
describe Hash do
end
使用it块编写测试。这是一个如何编写Hash类规范的示例:
describe Hash do
it "should return a blank instance" do
Hash.new.should == {}
end
end
如需更多帮助,请使用
答案 4 :(得分:0)
正如其他人所说,it
不是关键字。
话虽如此,很多看似关键字的词语都不是关键词。例如,puts
看起来像一个关键字,但它只是Kernel
模块中的一种方法。