flutter - 如何在未来完成后验证某些行为,使用 mockito
问题描述
我想用mockito验证一个动作是否在未来完成后完成。但是我应该如何进行呢?
这是我尝试执行的测试:
test('action should be called after future is complete',
() {
//GIVEN
// ...
//WHEN
functionBeingTested();
//THEN
verify(mockedDependency.futureReturningFunction());
verify(mockedDependency.action());
});
这些是通过测试的代码,但只有其中一个应该通过:
// Correct code
functionBeingTested() {
mockedDependency.futureReturningFunction().then(() {
// ...
}).whenComplete(() {
mockedDependency.action();
});
}
// Wrong code that also passes the test
functionBeingTested() {
mockedDependency.futureReturningFunction().then(() {
// ...
});
mockedDependency.action();
}
编辑:
我知道我的测试不太正确。请帮我改正。
我真正想要的是验证是否在完成mockedDependency.action()
后调用mockedDependency.futureReturningFunction()
。我怎样才能做到这一点?
解决方案
推荐阅读
- angular - RxJS - 使用成对确认和恢复输入字段
- python - 列表中的默认类型
- javascript - 如何从浏览器保存到本地文件?
- git - 将 git 分支从一个 repo 转移到另一个 repo
- mongodb - mongodb 查找字段等于给定数组元素之一的所有文档
- jupyter-notebook - Jupyte Notebook 的命令面板中的字体变小了
- javascript - 如何在点击时渲染组件?
- c - 我正在使用 PSoC 5。我想知道从 EEPROM 读取后如何将 8 字节十六进制转换为十进制
- javascript - 如何根据角度中的 currData ID 过滤样式
- python - 如何摆脱 pytest 警告