Похоже, что вы заглушаете метод DocList#authsub_url
в двух местах: -
Первая заглушка в любом экземпляре DocList
и возвращает URL: -
GData::Client::DocList.any_instance.stubs(:authsub_url).returns("http://test.google.com/contacts")
Вторая заглушка находится на фактическом экземпляре DocList
, но возвращает nil
, потому что нет предложения returns
: -
controller.instance_variable_get(:@client).expects(:authsub_url).with(import_method_gmail_url, false, true).once
Я думаю, что вы можете достичь того, чего хотите, комбинируячто-то вроде этого: -
controller.instance_variable_get(:@client).expects(:authsub_url).with(import_method_gmail_url, false, true).returns("http://test.google.com/contacts")
Обратите внимание, что once
является значением по умолчанию, поэтому оно не требуется, если вы не хотите подчеркнуть, что метод должен вызываться только один раз.