简体   繁体   English

如何模拟 Mono.from(commandResult).block();

[英]How to mock Mono.from(commandResult).block();

I have a class that invokes mongodb using reactive library and am writing a unit test that includes this private method.我有一个 class 使用反应库调用 mongodb 并且正在编写一个包含此私有方法的单元测试。 How to mock Mono.from(commandResult).block() using mockito?如何模拟Mono.from(commandResult).block()使用 mockito?

private Document runCommand(final String command) {
        final MongoDatabase db = mongoClient.getDatabase("admin");
        final Bson bsonDocument = Document.parse(command).toBsonDocument();
        final Publisher<Document> commandResult = db.runCommand(bsonDocument);
        return Mono.from(commandResult).block();
    }

Retuning Mono.just() worked重新调整 Mono.just() 有效

@Test
    void initializeDBTest() {
        final Document bsonDoc = Document.parse(isCSResponse);
        Mockito.when(mongoClient.getDatabase("admin")).thenReturn(db);
        Mockito.when(db.runCommand(Mockito.any())).thenReturn(Mono.just(bsonDoc));
        manageDB.initializeDB();
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM