我在这张幻灯片上阅读了有关RSpec最佳实践(http://blog.bandzarewicz.com/slides/krug-the-perfect-rspec/#19)和许多其他地方的信息,最佳做法是只使用一个“it”进行一次预期。例如:
describe UsersController, '#create' do
# setup spec...
it 'creates a new user' do
should assign_to(:user).with(user)
should set_the_flash
should respond_with(:redirect)
should redirect_to(admin_user_path(user))
end
end
describe UsersController, '#create' do
# setup spec...
it { should assign_to(:user).with(user) }
it { should set_the_flash }
it { should respond_with(:redirect) }
it { should redirect_to(admin_user_path(user)) }
end
为什么最佳做法只有一个期望与一个“它”?
答案 0 :(得分:3)
因为这种方法更适合文档化。试试rspec --format documentation
。另一个原因是,每个should
只有一个it
,您可以随时查看哪个测试失败。