这是ruby-on-rails rspec代码的好习惯吗?

时间:2013-09-12 21:20:29

标签: ruby-on-rails rspec railstutorial.org

此代码正在运行,但我想检查它是强健/良好做法/惯用。 背景:我正在关注Michael Hartl的rails教程,我正在研究8.5(第8章练习),将测试与实现分离。

在user_pages_spec.rb中我不喜欢代码

expect { click_button submit }.not_to change(User, :count)

因为change(User, :count)看起来像是一个黑客。所以在spec / support / utilities.rb中我写道:

def create_user
    change(User, :count)
end

我用

替换了user_pages_spec.rb中的行
expect { click_button submit }.not_to create_user

这是明智的吗?

1 个答案:

答案 0 :(得分:1)

这样做只是“包装”语法,我认为它不会真正增加代码。你之前的代码并不算太差,但也许你也可以考虑这样做:

expect { click_button submit }.to_not change{User.count}