Использование "file_fixture" в до (: suite)? - PullRequest
1 голос
/ 07 ноября 2019

Я хочу сделать это в spec_helper:

config.before(:suite) do
  allow(Net::HTTP)
    .to receive(:get)
    .with(URI(some_uri))
    .and_return(file_fixture('response.json').read)
end

Но, к сожалению, это не работает:

NoMethodError:
  undefined method `file_fixture' for #<RSpec::Core::AnonymousExampleGroup (no description provided)>

Но когда я делаю это:

config.before(:each) do
...
end

это работает?

Почему это так и можно ли использовать file_fixture также в блоке before(:suite)?

1 Ответ

0 голосов
/ 08 ноября 2019

file_fixture, очевидно, доступен только на уровне примера. Это означает, что вы можете использовать его внутри it или specify или внутри let блоков.

Что он делает - это простой помощник для чтения файлов, вы, вероятно, можете исправить это следующим образом:

config.before(:suite) do
  allow(Net::HTTP)
    .to receive(:get)
    .with(URI(some_uri))
    .and_return(File.read('path/to/your/fixtures/response.json'))
end
...