Я немного поиграюсь с Spring Boot 2 и юнит-тестами.
Я нашел очень удобное решение для тестовых классов и тестовых конфигураций (которое не помещает все бины в контекст для простых модульных тестов).
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SomeServiceClassTestConfiguration.class)
@TestPropertySource(locations = "classpath:application-test.properties")
public class SomeServiceClassTest {
@Configuration
static class SomeServiceClassTestConfiguration {
@Bean
public SomeServiceClass someServiceclass() {
return new SomeServiceClass(someDependency());
}
@Bean
public SomeDependency someDependency() {
return mock(SomeDependency.class);
}
}
@Test
public void someTests() {
// given
...
// when
...
//then
...
}
}
Но теперь у меня есть вопрос о том, как проверить вызов на макете в каждом тесте? Как verify(mockedDepenendcy).someMethod();
Или описанное решение является хорошим решением для действительно изолированных тестов изолированных классов, у которых нет никаких зависимостей?