这是我的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
类,但我无法更改此行为。
我希望我解释得很好。