2014-12-30 3 views
0

У меня есть класс:Rspec VerifyingDouble object_double неверное число аргументов

class SomeClass 
    def initialize(foo, bar) 
    end 
end 

, и я пытаюсь создать проверку дважды, как это:

object_double(SomeClass.new) 

Это дает мне ошибку:

wrong number of arguments (0 for 2) 

Как предотвратить это?

Я пытался делать это так же, даже если он не имеет большого смысла для меня

object_double(SomeClass.new, initialize: true) 

ответ

1

Ваш метод SomeClass#initialize требует 2 аргумента. Вы вызываете SomeClass.new без аргументов. В этих обстоятельствах Ruby поднимает ArgumentError. Вам нужно либо передать 2 аргумента в SomeClass.new, изменив определение initialize, чтобы быть терпимым к отсутствию передаваемых аргументов, либо использовать другой тип RSpec, проверяющий double, который не требует создания фактического экземпляра SomeClass. Например, вы можете использовать instance_double(SomeClass).