RSpec: before и after хуки
Почему-то сталкиваюсь с такими тестами:
describe "#foo" do
before :each do
# ...
end
end
:each
можно смело опускать: это поведение по умолчанию для before
. Лучше так:
describe "#foo" do
before do
# ...
end
end
И несколько интересных фактов о before и after хуках:
-
before :each
иbefore :all
— алиасы дляbefore :example
иbefore :context
. -
before :each
выполняется перед каждым примером,it do...end
.after :each
— после. -
before :all
выполняется перед контекстом (context
,describe
).after :all
— после. -
В
before :suite
нельзя задавать переменные экземпляра (instance var,@foo
) -
Только в
before :each
можно мокать.
P. S. Ещё больше постов о программировании, тестах и культуре разработки у меня в Телеграме.