Jest 使用布尔值测试循环

Jest testing a loop with Booleans

我在 Jest 中有以下功能。我有一个名为 isAquatic 的方法,returns 一个布尔值取决于动物。

        const nonAquaticAnimal = ["tiger", "cat", "lion"]
        test.each(nonAquaticAnimal)(
          '.isAquatic',
          (input, false) => {
            const animal = isAquatic(input)
            expect(animal).toBe(false);
          },
        );

我有一个错误 identifier false is a reserved word and cannot be used here。我如何遍历数组并调用这个 returns 布尔值的方法?

传递给 test.each 的数组参数通常是一个二维数组,因此您可以在 nonAquaticAnimals 数组中包含动物和该动物的预期结果。测试函数会将这两个项目作为函数参数。

您可以进行如下测试:

const nonAquaticAnimals = [
  ["tiger", false],
  ["cat", false],
  ["lion", false],
];
test.each(nonAquaticAnimals)(".isAquatic", (animal, expected) => {
  expect(isAquatic(animal)).toBe(expected);
});

如果您觉得数组中的 expected 值多余,您也可以省略它:

const nonAquaticAnimals = ["tiger", "cat", "lion"];
test.each(nonAquaticAnimals)(".isAquatic", (animal) => {
  expect(isAquatic(animal)).toBe(false);
});