2012-07-25 61 views
3

我在这张幻灯片上阅读了关于RSpec最佳实践(http://blog.bandzarewicz.com/slides/krug-the-perfect-rspec/#19)和许多其他地方,最好的做法是只用一个“it”来期待一次。例如:Rspec最佳实践:为什么“它”只期望一件事?

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

那么,“单元测试”是一个自我解释的表达式 – apneadiving 2012-07-25 07:26:38

回答

3

因为这种方法对文档更好。尝试rspec --format documentation。另一个原因是,每个it有一个should,您总能看到哪个测试失败。

+0

我没有想到文档输出。谢谢 。 – Emil 2012-07-25 09:11:47