【发布时间】:2012-04-19 22:28:40
【问题描述】:
我有当前的规格:
describe "DELETE 'destroy'" do
let(:client) { create(:client) }
#before(:each) do
#@client = create(:client)
#end
it "should delete a client" do
expect {
delete :destroy, :id => client
}.to change(Client, :count).by(-1)
end
# ...
end
当我使用let 时示例失败,但当我使用before(:each) 时工作正常。
下面是实现代码:
def destroy
client = Client.find(params[:id])
if client.destroy
flash[:success] = "Client deleted successfully"
redirect_to kong_clients_url
else
flash[:error] = "Client not deleted for some reason"
redirect_to kong_clients_url
end
end
那么为什么当我使用 let 时示例会失败?!
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 rspec rspec2