Cod*_*ith 3 rspec ruby-on-rails
我有以下通过的 rspec 请求规范示例
it "increases count by 1" do
attributes = attributes_for(:district)
expect { post admin_districts_path, params: { district: attributes} }.to change { District.count }.by(1)
end
Run Code Online (Sandbox Code Playgroud)
该expect线是有点忙,所以我试图打破它。以下导致错误
it "increases count by 1" do
attributes = attributes_for(:district)
block = { post admin_districts_path, params: { district: attributes} }
expect(block).to change { District.count }.by(1)
end
Run Code Online (Sandbox Code Playgroud)
有错误
syntax error, unexpected '}', expecting keyword_end
Run Code Online (Sandbox Code Playgroud)
为什么会发生此错误?有没有更简洁的方法来编写这个规范示例?
我通常在测试中遇到这种长线。我所做的不是为了提高阅读而创建新变量,而是将其分成不同的行,如下所示:
it "increases count by 1" do
attributes = attributes_for(:district)
expect do
post admin_districts_path, params: { district: attributes}
end.to change { District.count }.by(1)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
763 次 |
| 最近记录: |