node.js - 如何在 Mocha 挂钩之前在异步中设置测试数据?
问题描述
我查看了Mocha 文档中有关按特定顺序运行异步测试的钩子和几篇文章,以及今天打开了我自己以前的问题,我已经从中获取反馈并重构了我的测试,但我m 仍然遇到问题。
我正在尝试使用 Mocha 在前挂钩中设置测试数据,问题是此数据设置需要使用 async/await(简化示例代码):
.
.
.
describe('Deleting', function() {
let uuid;
// setup creating the accout so I can then test deleting it below
before(async function() {
let foo = await api.account.create(info);
uuid = transform.location(foo);
});
it('should delete an account', async function () {
let result = await api.account.remove(uuid);
expect(result).to.be.true;
});
});
问题在于这篇文章描述了“在(同步执行)链下游的测试不能保证由异步测试设置的所需条件在它们运行时已经准备好”。
我试图通过将必要的测试设置调用放在 before 钩子中来解决这个问题,但是我的测试仍然失败,因为在“it”测试删除它时没有创建帐户。这些是集成测试,所以我需要以这种方式创建设置数据,而不是使用模拟/存根。
我的方法有什么问题吗?或者您对我如何继续完成这项工作有什么建议?
解决方案
推荐阅读
- amazon-web-services - 了解生命周期规则和忽略变化
- django-rest-framework - 在 Django Rest Framework 中过滤多个值
- xamarin.forms - Xamarin.Forms:Android 5.1 上的 WebView 支持
- javascript - 按对象过滤对象数组
- javascript - 何时使用 useMemo 和 useCallback 进行性能优化?
- kotlin - 在 Koltin 中处理可为空的 val 的最佳方法是什么?
- ansible - uri 不遵守 localhost 代理设置
- reactjs - React-beautiful-dnd 返回目的地=null
- ios - 仅在模拟器上没有此类模块“AcousticMobilePush”-Kotlin 多平台项目
- node.js - 如何从nodejs连接impala数据库