面向可完成未来的java Junit。runAsync()
我想感谢你们每一个人与我们分享你们的知识和时间。在这里,我很想知道我们如何为在CompletableFuture中编写的业务逻辑编写junit测试用例。runAsync() e、 g
public class Loan{
public Transaction writeIntoCassandra(Transaction transaction){
private startTime = System.currentTimeMillis();
CompletableFuture.runAsync(()-> {
try{
writeIntoCassandraTable(transaction);
}
catch(JsonConversionException e){
}
});
CompletableFuture.runAsync(()-> {
try{
writeIntoCassandraTable2(transaction);
}
catch(JsonConversionException e){
}
});
return transaction;
}
}
我在下面为上述实现编写junit测试用例
@InjectMocks
private Loan loan;
public void writeIntoCassendraTest(){
String jsonTransaction = "";
ObjectMapper objectMapper = new ObjectMapper();
Transaction transaction = objectMapper.readValue(jsonTransaction, Transaction.class);
loan.writeIntoCassendra(transaction);
//assertThat();
}
在这里,当我运行junits时,它不会执行在“CompletableFuture.runAsync(()->;{”之后编写的代码,即私有方法writeIntoCassandraTable(transaction)和writeIntoCassandraTable 2(transaction)不会被执行。我用try块保留了断点,但此时控制并没有停止。 这导致代码覆盖率低。帮助我理解为什么它没有被执行,以及如何修复它。如果您需要更清晰或详细的信息,请告诉我
共 (0) 个答案