2015-03-30 2 views
1

Я пытаюсь обновить проект от RSpec 2 до RSpec 3, но это не удается из-за ошибки:Почему сбой rspec 3 с ошибкой: поддерживаются только совпадения `receive_messages`?

Failure/Error: Unable to find matching line from backtrace 
    only the `receive` or `receive_messages` matchers are supported with `expect(...).to`, but you have provided: #<RSpec::Matchers::BuiltIn::Equal:0x007f99a974a230> 

Вот строка:

expect(last_response.ok?).to be true 

This post suggests один только

нужно
require 'rspec/expectations' 
include RSpec::Matchers 

Однако, я сделал это, и он все еще сообщает об ошибке. This user также, похоже, столкнулся с этой проблемой, но не смог найти решение по состоянию на 30.03.2015.

Я использую rspec с Sinatra и не использую огурец или шпинат.

Может ли кто-нибудь объяснить, как разрешить эту ошибку в RSpec 3? Благодарю.

+0

Вы уверены, что линия вы упомянули это на самом деле дает ошибку? –

ответ

2

Я исправил этот вопрос, используя extend вместо include для RSpec::Matchers. Отлаживая это и пытаясь интегрировать pry, I found this post, который предложил изменение.

Таким образом, мой код теперь выглядит следующим образом:

extend RSpec::Matchers 

И не

include RSpec::Matchers