У меня есть класс конфигурации весенней загрузки, подобный этому:
@Configuration
public class ClockConfiguration {
@Bean
public Clock getSystemClock() {
return Clock.systemUTC();
}
}
и у меня есть несколько интеграционных тестов, таких как:
@SpringBootTest(classes = MyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
public abstract class AbstractIntegrationTest {
}
и такие тесты:
public class MiscTests extends AbstractIntegrationTest{
@Test
public void CreateSomethingThatOnlyWorksInThe Morning_ExpectCorrectResponse() {
}
Я хочу иметь возможность компенсировать тактовый компонент для запуска некоторых тестов в разное время дня. Как мне это сделать?
ПРИМЕЧАНИЕ: я вижу несколько переполнение стека ответы похоже на это, но я не могу заставить их работать.
Судя по другим ответам, решение должно выглядеть примерно так:
@SpringBootTest(classes = MyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
public abstract class AbstractIntegrationTest {
@Configuration
class MyTestConfiguration {
@Bean
public Clock getSystemClock() {
Clock realClock = Clock.systemDefaultZone();
return Clock.offset(realClock, Duration.ofHours(9));
}
}
}
Но там ничего не происходит. Нужно ли мне @Import что-то? мне нужно @Autowired что-то?
Спасибо!