如何在 AVA 中替换 Chai.js' `.deep.iterate.over`?
How to replace Chai.js' `.deep.iterate.over` in AVA?
我目前正在将大量测试从 Mocha 和 Chai 迁移到 AVA。因此,有时我必须替换一些 Chai.js 断言才能在 AVA 中使用它们,例如:
// Before
expect(arr).to.be.iterable;
// After
t.is(typeof arr[Symbol.iterator], 'function');
但是,我不确定如何替换 expect(arr)to.deep.iterate.over([])
。我在 Chai 文档页面上找到了以下内容:
In many cases the array spread operator is the best way to test iterables. chai-iterator is however very useful for testing part of a very long (or infinite) iterable.
不幸的是,链接页面returns 404。所以我的问题是 - 我如何替换上面的方法,以便我可以将它与 AVA 一起使用?
我不确定该断言的作用,但我想您可以在 [...arr]
上断言?或者使用 for
/ of
循环来做某事?我不知道你的代码库,但这些是一些非常具体的测试。他们值得吗?
请注意,您仍然可以在 AVA 中使用 Chai 断言,但您必须将 failWithoutAssertions
选项设置为 false
。这样,如果 Chai 断言抛出,您的测试就会失败,如果没有,则通过。
我目前正在将大量测试从 Mocha 和 Chai 迁移到 AVA。因此,有时我必须替换一些 Chai.js 断言才能在 AVA 中使用它们,例如:
// Before
expect(arr).to.be.iterable;
// After
t.is(typeof arr[Symbol.iterator], 'function');
但是,我不确定如何替换 expect(arr)to.deep.iterate.over([])
。我在 Chai 文档页面上找到了以下内容:
In many cases the array spread operator is the best way to test iterables. chai-iterator is however very useful for testing part of a very long (or infinite) iterable.
不幸的是,链接页面returns 404。所以我的问题是 - 我如何替换上面的方法,以便我可以将它与 AVA 一起使用?
我不确定该断言的作用,但我想您可以在 [...arr]
上断言?或者使用 for
/ of
循环来做某事?我不知道你的代码库,但这些是一些非常具体的测试。他们值得吗?
请注意,您仍然可以在 AVA 中使用 Chai 断言,但您必须将 failWithoutAssertions
选项设置为 false
。这样,如果 Chai 断言抛出,您的测试就会失败,如果没有,则通过。