生成多样化的Chai断言集合以供将来评估
P粉593649715
P粉593649715 2023-09-16 23:25:50
0
1
347

我有一些异步(I/O绑定)任务要做,然后我想用Chaiassert返回的值。而不是写像这样的一段代码:

expect(await taskA.someAsync()).to.be.eq(something);
expect(await taskB.someAsync()).to.be.eq(something);

我想要等待所有任务完成,使用await Promise.all([taskA.someAsync(), taskB.someAsync()]),然后逐个expectassert结果。

我创建了这个函数(伪代码)来使事情更通用:

type TransactionInfo = {
    txn: Promise<any>; // 要等待的异步任务
    assertion: Chai.Assertion // 要在txn结果上运行的断言
}

const assertAll = async function(...txns: TransactionInfo[]) {
  let values = await Promise.all(allTxns);
  for (let txnInfo of txns) {
    evaluate(txnInfo.assertion)
  }
}

这个函数的作用是await所有的txns,然后对每个txn运行每个assertion来验证返回的值。

首先,我不确定Chai.Assertion类型对于assertion是否正确。其次,我不知道如何实例化一个包含不同类型断言(如eqhave.lengthOf)的TransactionInfo数组。最后,我不知道如何在以后评估assertion对象。

P.S. 我不是一个专业的JavaScript开发者。请友善点:)

P粉593649715
P粉593649715

最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!