此代码正在运行,但我想检查它是强健/良好做法/惯用。 背景:我正在关注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
这是明智的吗?
答案 0 :(得分:1)
这样做只是“包装”语法,我认为它不会真正增加代码。你之前的代码并不算太差,但也许你也可以考虑这样做:
expect { click_button submit }.to_not change{User.count}