Использование экземпляра параметра instance_of в mocha - PullRequest
0 голосов
/ 29 марта 2020

Я хочу использовать сопоставитель параметров instance_of для теста в ActionController::TestCase. Я импортировал следующие файлы

require 'mocha/api'
require 'mocha/setup'

I wi sh, чтобы написать что-то вроде этого.

Book.any_instance.stubs(:read).with(instance_of(String)).returns true

Но я получаю сообщение об отсутствии метода для instance_of. Хотя я могу использовать его в другом файле, где он настроен для RSpe c. Не могли бы вы сообщить мне необходимые файлы, которые нужно импортировать, чтобы использовать параметры соответствия

1 Ответ

0 голосов
/ 29 марта 2020

https://github.com/freerange/mocha#rspec говорит, что мы должны использовать config.mock_with :mocha в конфигурации RSpe c, где вы работаете.

Давайте углубимся в код на GitHub. Код для mock_with найден здесь .

Кажется, что требуется другой файл, и он здесь .

Вы можете проверить код выше и вы увидите, что вам нужно требовать мокко следующим образом:

begin
  require 'mocha/api'

  begin
    require 'mocha/object'
  rescue LoadError
    # Mocha >= 0.13.0 no longer contains this file nor needs it to be loaded.
  end
rescue LoadError
  require 'mocha/standalone'
  require 'mocha/object'
end

Обратите внимание, что вам не нужно требовать именно так. Когда вы знаете версию используемого мокко, вам могут потребоваться только необходимые компоненты.

...