我有一个测试实例化一些实体,将它们保存到 MongoDB 并再次加载它们以确保映射正常工作。我想@DataMongoTest在测试类上使用注释来确保动态创建嵌入式 MongoDB 实例。
这工作得很好,直到我不得不org.springframework.core.convert.converter.Converter为某些类引入自定义转换器 ( )。这些设置如下:
@ReadingConverter
public class MyClassReadConverter implements Converter<Document, MyClass> {
...
@WritingConverter
public class MyClassWriteConverter implements Converter<MyClass, Document> {
...
@Configuration
public class SpringMongoSetup extends AbstractMongoConfiguration {
@Override
public Mongo mongo() throws Exception {
//I don't want that in the test..
return new MongoClient("localhost");
}
@Override
public CustomConversions customConversions() {
// ..but I need this
List<Converter<?,?>> converters = new ArrayList<>();
converters.add(new MyClassWriteConverter());
converters.add(new MyClassReadConverter());
return new CustomConversions(converters);
}
...
Run Code Online (Sandbox Code Playgroud)
对于正常(非测试)执行,这很好用。如果我使用 …