Поскольку вы выполняете автоматическое подключение, вам нужен контекст приложения, чтобы Spring мог управлять компонентом и затем мог быть внедрен в ваш класс. Поэтому вам не хватает аннотации для создания контекста приложения для вашего тестового класса.
Я обновил ваш код, и теперь он работает (с junit 5 в вашем пути к классам). В случае, если вы используете junit 4, это должно быть @RunWith(SpringRunner.class)
вместо @ExtendWith(SpringExtension.class)
:
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = TestConfiguration.class)
public class StripeServiceTests {
@Autowired
StripeService stripeService;
@TestConfiguration
static class TestConfig {
@Bean
public StripeService employeeService() {
return new StripeServiceImpl();
}
}
@Test
public void findCustomerByEmail_customerExists_returnCustomer() {
assertThat(stripeService.getCustomerId()).isEqualTo(2);
}
}