在练习的过程中看到例子上写了这么一句
let(:user) { FactoryGirl.create(:user) } ...... its(:user) { should eq user }
上面的 its 时什么意思,而且我在自己的程序中写了之后会报错,说 its 方法找不到,希望能得到解答。
语法糖,新版本里应该没有了,检查一下你用的版本。
顺便一提,这种语法已经被废弃了,你看的教程应该是落伍了。
在 3.x 的时候已经被拆出一个单独的 Rubygem,如果你需要用可以在 Gemfile 里加上
gem "rspec-its"
Github 地址 https://github.com/rspec/rspec-its
RSpec 2.x 中,it 会寻找subject的值. 如
it
subject
before { @user = User.create } subject { @user } it { should respond_to(:to_s) }
这里 it 就是指 @user
而且,如前两位所说,it, its, should已经被 RSpec 3 取消了 (changelog - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3)
its
should
那 its 这个方法有没有落伍呀,还要不要用了?