У меня есть тест ChefSpec ниже, я не уверен, является ли это ошибкой в ChefSpec или нет.
Тем не менее, всякий раз, когда я издевался над библиотечной функцией в контексте блока, библиотека насмешки не смоделировала значение для функции и вызывала сбой теста. Странным является тест, пройденный (сработал макет), когда все блоки «it» остались внутри этого блока контекста, но если я добавлю любой другой блок «it» вне этого блока контекста, то mocking не сможет насмехаться над библиотечной функцией и начать входить в них.
Есть ли способ исправить или обойти это? Спасибо
context "when site_tool is not set (default)" do
#This mocking block is not working properly inside the context block.
#If I move everything out of this context block, everything works fine
# including the mocking library function below.
# The error is basically it tried to step into the library function,
# even though its not supposed to as I have mocked it out
# Is there a different way of mocking library function
#specifically for outside and inside context block??
before do
allow_any_instance_of(Chef::Recipe)
.to receive(:get_service_account_password)
.with(site[:app][:permissions][:base_username])
.and_return("test_password")
end
it 'adds the default app pool' do
is_expected.to add_iis_pool('DefaultAppPool').with(
...
)
end
## More complicated 'it' blocks below
end