mocha.js - 如何编写具有超时和异步的摩卡测试
问题描述
createStream 需要获得浏览器的影音权限,所以我不得不推迟这个测试
和createStream
回报destroyStream
承诺
我想测试destroyStream,这只是没有得到我想要的,有人帮忙吗?
it("my test need to be delayed, and i want to test destroyStream", function () {
setTimeout(async () => {
// i need to create stream first
const publishStream = await createStream();
expect(streamCenter.previewVideoList.length).to.equal(1);
// then destory stream
await zg.destroyStream(publishStream);
expect(streamCenter.previewVideoList.length).to.equal(0);
}, 2000); // my test need to be delayed
});
解决方案
it("my test need to be delayed, and i want to test destroyStream", async function () {
this.timeout(10000); // set timeout 10s
// i need to create stream first
const publishStream = await createStream();
expect(streamCenter.previewVideoList.length).to.equal(1);
// then destory stream
await zg.destroyStream(publishStream);
expect(streamCenter.previewVideoList.length).to.equal(0);
});
如果我及时允许权限,这似乎可行。否则它将失败并出现错误“权限被拒绝”
推荐阅读
- sql - 以 MS Access 形式查看存储在 SQL Server 中的图像文件
- apache-spark - AWS EMR 是否适合 HA spark 直接流应用程序
- date - 日期算术:Cassandra 4
- c# - 如何使 C# 库可翻译?
- r - R:如何从树状图中获得大致相同大小的集群
- opencv - 将弯曲的矩形变形为规则的矩形
- autohotkey - 是否可以删除特定文件夹中的所有子文件夹而无需对其进行硬编码或删除其他任何内容?
- javascript - 自定义 ESLint 插件不建议在编辑器中自动修复
- r - 如何在 R 中使用参数“bw=sj”
- python - Openpyxl 中的 insert_rows 没有更新现有公式中的行数,也没有选择上述行格式