运行 测试启用 Spring 数据 Mongodb 审计

Running tests with Spring Data Mongodb auditing enabled

我试图找到在执行某些测试时拥有 spring-data-mongodb 的审计功能的方法。

我的测试基本上是启动嵌入式 mongo,并使用 MongoTemplate 连接我的数据库组件。

public class MyRepoImpl implements MyRepoCustom {
    @Autowired
    public MyRepoImpl(MongoOperations operations) {
        /* init stuff here */
    }
    @Override
    public MyModel runComplexQuery() { /* do stuff here, such as saving data */ }
}

当我执行测试时,我找不到一种方法来设置 MongoTemplate 以进行审计(至少对于某些特定测试),而不加载整个 Spring申请。

有没有办法设置 MongoTemplate/MongoOperations 以获得审核功能 运行?

使用 Spring 引导,您可以使用 @DataMongoTest 注释仅配置 MongoDB 启动器。

@RunWith(SpringRunner.class)
@DataMongoTest
@Import(ExtraMongoConfiguration.class) // if you need some @Configuration to be imported
public class SomeRepositoryTests {

    @Autowired
    private MongoTemplate mongoTemplate;

}