我在SO/Google上找到這個特殊情況的時間很糟糕。我有一個帶有函數的模塊,並且爲了使用它們,您必須創建一個包含/擴展模塊的類,具體取決於您是否需要實例方法或類方法。使用rspec測試Ruby模塊
module A
def say_hello name
"hello #{name}"
end
def say_bye
"bye"
end
end
如何使用RSpec的我測試這個模塊?
我有這樣的事情,我不確定我應該在哪裏創建類並擴展Module。
describe A do
class MyClass
extend A
end
before(:each) { @name = "Radu" }
describe "#say_hello" do
it "should greet a name" do
expect(Myclass.say_hello(@name)).to eq "hello Radu"
end
end
end
謝謝!
你的方法不返回此值。你應該檢查它是否存在,這樣''puts'方法調用一次參數'hello Radu' – zishe 2014-12-07 10:51:12
@zishe yep'say_hello(@name)'return'nil'。 – 2014-12-07 10:53:35
這是一個愚蠢的例子。我有方法返回的東西。我關心的是如何在rspec中使用擴展 – radubogdan 2014-12-07 11:19:48