Подделка боба с помощью теста SpringBoot на интеграционном тесте - PullRequest
0 голосов
/ 02 октября 2018

Так же, как @MockBean и @SpyBean, есть ли что-то похожее на @FakeBean / @DummyBean?

Идея состоит в том, что экземпляр является 100% реальным (с ожидаемым внутренним состоянием производства) и переопределяет (илидобавляет боб в случае, если он не объявлен в конфигурации) тот, что в контексте.В идеале вам не нужно создавать класс TestConfiguration и устанавливать его в качестве основного, потому что таким образом вы управляете подделкой для каждого теста, только когда вам это нужно.В противном случае он использует основной.

Это очень полезно, например, если компонент является сборщиком данных контекста, поэтому он может быть очищен с помощью MockReset.AFTER для каждого теста.

Что такоеСамый чистый способ достичь этого.Является ли @SpyBean подходом, даже если мы на самом деле не шпионим?

1 Ответ

0 голосов
/ 03 октября 2018

Я думаю, что это не очень хорошая идея.Автоматическое создание bean-компонентов может иметь большие накладные расходы, потому что в некоторых случаях шаг за шагом будет создаваться весь контекст.Лучше создать TestContext и контролировать создание bean-компонентов, потому что там, где нужно, вы создаете настоящие bean-компоненты, а где вам нужно создавать макет.Если вы создаете макет, бины внутри него не будут создаваться и не потребуются для вашего тестового контекста, в отличие от автоматического процесса.

PS .Spring имеет хорошее объяснение ошибки (связанное с обязательным объявлением компонента), а @MockBean или @SpyBean могут быть объявлены на уровне класса с несколькими классами для простого и быстрого объявления.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...