Я пишу модульные тесты для моего контроллера и столкнулся с проблемой, что файл desktop.properties
не существует на моем сервере сборки и не должен там существовать.
У меня есть основной класс SpringBoot:
@Configuration
@ComponentScan(basePackages="com.xxx")
@EnableJpaRepositories(basePackages = "com.xxx")
@PropertySources(value = {@PropertySource("classpath:desktop.properties")})
@EnableAutoConfiguration(exclude={JmsAutoConfiguration.class, SecurityAutoConfiguration.class, MultipartAutoConfiguration.class})
@ImportResource(value = {"classpath:multipart.xml","classpath:column-maps-config.xml","classpath:model-ui-name-maps-config.xml"})
public class ApplicationConfig extends WebMvcConfigurerAdapter implements EnvironmentAware, WebApplicationInitializer {
}
Этот класс импортирует desktop.properties
, как вы можете заметить.
И у меня есть тестовый класс, который начинается с:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = ApplicationConfig.class)
@WebAppConfiguration
public class SomeControllerTest {
}
Если моя среда не 'у меня нет файла desktop.properties
, или я просто удаляю его, тогда тесты не могут быть запущены, потому что класс ApplicationConfig
не может быть создан без зависимости.
Мой вопрос: как я могу издеваться над desktop.properties
илисоздать пользовательскую конфигурацию для целей тестирования, чтобы заменить @ContextConfiguration(classes = ApplicationConfig.class)
моим контекстом тестирования?
Не могли бы вы любезно дать мне какие-либо подсказки по этому поводу?
PS текущий проект являетсядовольно старый со старыми версиями, так что я нашел только один способ создать тесты для контроллеров с минимальными изменениями pom.xml