我有一个非常大的JSON对象数组。我需要对每个元素运行Jest测试。我尝试先迭代数组,然后在循环中编写测试,如下所示:
describe("Tests", (f) => {
it("has all fields and they are valid", () => {
expect(f.portions! >= 0).toBeTruthy();
expect(f.name.length > 0 && typeof f.name === "string").toBeTruthy();
});
it("has an image", () => {
expect(f.image).toBeTruthy();
});
});
然而,对于这段代码,Jest抱怨“您的测试套件必须至少包含一个测试”。
我是否必须为每个测试循环遍历这个数组?
1条答案
按热度按时间lx0bsm1f1#
Jest确实有
describe.each
,test.each
和it.each
方法来满足你的需要,它允许你用不同的输入/输出做同样的测试。https://jestjs.io/docs/api#describeeachtablename-fn-timeout
使用全局描述。每个:
输出:
或简单的it. each:
输出: