代码之家  ›  专栏  ›  技术社区  ›  Dez

期望变量为空或布尔值

  •  1
  • Dez  · 技术社区  · 6 年前

    boolean 或作为 null .

    现在我正在检查适合这种情况的变量:

    expect(`${variable}`).toMatch(/[null|true|false]/);
    

    有没有更好的方法用jest内置函数检查它们?

    1 回复  |  直到 6 年前
        1
  •  3
  •   CodingIntrigue    6 年前

    那怎么办

    expect(variable === null || typeof variable === 'boolean').toBeTruthy();
    

    你可以用 expect.extend 要将其添加到内置匹配器,请执行以下操作:

    expect.extend({
        toBeBooleanOrNull(received) {
            return received === null || typeof received === 'boolean' ? {
                message: () => `expected ${received} to be boolean or null`,
                pass: true
            } : {
                message: () => `expected ${received} to be boolean or null`,
                pass: false
            };
        }
    });
    

    使用它就像:

    expect(variable).toBeBooleanOrNull();