Это мой application.properties
файл:
spring.data.mongodb.host: localhost
spring.data.mongodb.port: 27017
spring.datasource.url: jdbc:postgresql://localhost:5432/frontoffice
spring.datasource.username: frontoffice
spring.datasource.password: password
spring.datasource.driverClassName: org.postgresql.Driver
application.defaultLanguage: ca_ES
И это мой тест:
@RunWith(SpringRunner.class)
@SpringBootTest()
public class GridFSTest {
@Autowired
private GridFsTemplate gridFsTemplate;
@Test
public void storeFile() throws IOException {
Path path = Paths.get(TestResources.CompatibleMatch.CSV_DOCUMENT.getPath());
InputStream is = Files.newInputStream(path);
this.gridFsTemplate.store(
is,
path.getFileName().toString(),
"text/plain",
null
);
}
@Test
public void getFile() {
Path path = Paths.get(
TestResources.CompatibleMatch.CSV_DOCUMENT.getPath()
);
GridFSFile gridFsFile = this.gridFsTemplate.findOne(
Query.query(
Criteria
.where("filename")
.is(path.getFileName().toString())
)
);
assertEquals(path.getFileName().toString(), gridFsFile.getFilename());
}
}
Как видите, я тестирую только spring-data-mongodb
связанные классы.
Дело в том, что когда я запускаю этот тест, Spring
пытается загрузить все ресурсы, конфигурация которых не связана с моим конкретным тестом.
Я хочу загрузить ТОЛЬКОресурсы, связанные с mongo, и удаление остальных.
Кроме того, я хотел бы иметь несколько файлов *.properties
в моем src/test/resources
, по одному для каждого вида контекста.
Я знаюсуществует аннотация ActiveProfiles
, но как я могу аннотировать сторонние библиотечные ресурсы?spring-data-mongodb
пытается загрузить классы @Configuration
, и я не могу изменить это поведение.
Надеюсь, я так хорошо объяснил.