Я пытаюсь запустить примеры из электронной книги RSpec
, но выглядит, что книга имеет более старую версию RSpec
, поэтому некоторые примеры ссылаются на старый RSpec API
, который создает проблемы. Я пытаюсь решить их как можно больше, но так как я новичок в Ruby
& RSpec
его немного сложно для меня.Невозможно получить доступ к переменным в RSpec test
Из журнала ошибок я могу понять, что это проблема с определением области обзора, но не знаю, как ее разрешить.
Есть subject
еще часть версии rspec 3.4.2?
$rspec --version
3.4.2
НЕ РАБОТАЕТ
require "spec_helper"
describe Location do
describe "#initialize" do
subject { Location.new(:latitude => 38.911268, :longitude => -77.444243) }
expect(:latitude).to eq(38.911268)
expect(:longitude).to eq(-77.444243)
end
end
Error Log:
method_missing
:expect
не доступна на примере группы (например,describe
илиcontext
блок). Он доступен только из отдельных примеров (например,it
блоков) или из конструкций, которые выполняются в объеме примера (например,before
,let
и т. Д.). (RSpec :: Core :: ExampleGroup :: WrongScopeError)
Сообщение об ошибке сообщает вам, что именно не так: вы используете 'except' вне примера. Он должен быть в блоке 'it'. Постскриптум Они все еще не собираются работать. Символ ': широта' равен только:: широта' (точно так же, как строка« широта »' равна только «широте»). Он никогда не будет равен числу. Возможно, вы имели в виду 'subject.latitude'? –