Обновление Rspec до Rspec 2.99, хочу использовать переменную let connection в до / после хуков - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть голова скребок.При обновлении rspec я получаю:

DEPRECATION: let declaration `directory` accessed in an `after(:all)` hook 
at:
`let` and `subject` declarations are not intended to be called

Теперь я понимаю, что не могу использовать переменные let, определенные в хуках до / после.Однако методы, которые используются с моим набором тестов, используют соединение для предварительной обработки некоторых действий REST API:

let {:connection}   {user_base}
after(:all) do
 connection.delete_folder
end

Мой вопрос таков: есть ли способ обойти это, не делая каждое соединение переменной экземпляра?Я хочу избегать вызова переменной соединения каждый раз, когда хочу выполнить действие, например

before(:all) do
 @connection = user_base
end
it "adds folder" do    
 @connection.add_folder
end
it "edits folder" do
 @connection.edit_folder
end

1 Ответ

0 голосов
/ 10 декабря 2018

Я думаю, что RSpec хочет, чтобы вы запускали блок перед каждым примером, а не один раз перед всеми примерами:

let(:connection) { user_base }

after do # short for `after(:each) do`
  connection.delete_folder
end

it "adds folder" do    
  connection.add_folder
end

it "edits folder" do
  connection.edit_folder
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...