我试图在rails控制器规范中重用一些常用代码.对于管理员用户和普通用户,我有不同的上下文.但是,对于特定操作,大部分行为都是相同的,所以我尝试将该常见行为拉出到辅助函数中:
describe SomeController do
def common_get_new
# common stuff
end
context "regular users" do
describe "GET new" do
common_get_new
end
end
context "admin users" do
describe "GET new" do
common_get_new
end
end
end
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
undefined局部变量或方法`common_get_new'
我究竟做错了什么?
Pau*_*nti 14
您是否尝试过使用共享示例?
describe SomeController do
shared_examples_for "common_get_new" do
# common stuff
end
context "regular users" do
describe "GET new" do
it_should_behave_like "common_get_new"
end
end
context "admin users" do
describe "GET new" do
it_should_behave_like "common_get_new"
end
end
end
Run Code Online (Sandbox Code Playgroud)
根据common_get_new您问题中方法的内容,为了简单地消除错误,您可以将方法放在spec/support/utilities.rb中,或者像@Chris Heald建议的那样,并在顶部定义方法文件.
| 归档时间: |
|
| 查看次数: |
2834 次 |
| 最近记录: |