在RSpec中测试模块的最佳实践是什么?我有一些模块包含在几个模型中,现在我只是对每个模型都有重复的测试(几乎没有区别)。有没有办法把它弄干?
发布于 2012-05-29 23:50:30
rad =>
let(:dummy_class) { Class.new { include ModuleToBeTested } }
或者,您可以使用您的模块扩展测试类:
let(:dummy_class) { Class.new { extend ModuleToBeTested } }
使用'let‘比使用实例变量来定义之前的(:each)中的虚拟类要好。
发布于 2009-10-09 23:20:06
迈克说的话。下面是一个简单的例子:
模块代码...
module Say
def hello
"hello"
end
end
规范片段...
class DummyClass
end
before(:each) do
@dummy_class = DummyClass.new
@dummy_class.extend(Say)
end
it "get hello string" do
expect(@dummy_class.hello).to eq "hello"
end
发布于 2013-01-16 02:55:34
对于可以单独测试或通过模拟类进行测试的模块,我喜欢以下内容:
模块:
module MyModule
def hallo
"hallo"
end
end
规格:
describe MyModule do
include MyModule
it { hallo.should == "hallo" }
end
劫持嵌套的示例组似乎是错误的,但我喜欢它的简洁性。有什么想法吗?
https://stackoverflow.com/questions/1542945
复制相似问题