在我的规范中,我尝试使用rspec的#double方法创建类常量。原因一类常数是让MockSidePolicies可以访问它:在类(非实例)级别创建测试双精度
describe Pages do
PLAIN_MEDIUM = double Paper::Medium
class MockSidePolicies
def policy(medium)
{
PLAIN_MEDIUM => PLAIN_POLICY,
...
}[medium]
end
...
end
这不起作用:
undefined method `double' for #<Class:0xa0ff334> (NoMethodError)
我可以,当然,使用#double一个#let内:
let(:plain_medium) = double Paper::Medium
但是,那么MockSidePolicies类将无法访问它。
如何在课堂上使用rspec的#double方法?