У меня есть класс обслуживания, который запускает поток и запускает некоторые фоновые задачи. Эти задачи не должны выполняться, пока я выполняю модульное тестирование. Сам класс обслуживания настолько прост, что его не нужно тестировать модулем. Это как:
@Service
public class BackgroundTaskService {
@PostConstruct
public void startTask() {
// ...
}
}
В настоящее время я устанавливаю системное свойство для объявления о запуске модульного теста:
@RunWith(SpringRunner.class)
@SpringBootTest
public class SomeTest {
static {
System.setProperty("unit_testing", "true");
}
@Test
public void test() {}
}
Тогда я могу проверить:
@PostConstruct
public void startTask() {
if (System.getProperty("unit_testing") != null) {
return; // skip background tasks
}
}
Я бы хотел знать, есть ли лучший способ сделать это.