首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >要求变量为空或布尔值

要求变量为空或布尔值
EN

Stack Overflow用户
提问于 2018-05-31 18:07:26
回答 1查看 6.3K关注 0票数 4

我正在为Node.js后端开发一些测试,我需要检查来自第三方的一些值。在某些情况下,这些值可以作为booleannull出现。

现在,我正在使用以下命令检查适合这种情况的变量:

代码语言:javascript
复制
expect(`${variable}`).toMatch(/[null|true|false]/);

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 18:38:28

关于

代码语言:javascript
复制
expect(variable === null || typeof variable === 'boolean').toBeTruthy();

您可以使用expect.extend将其添加到内置匹配器中:

代码语言:javascript
复制
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
        };
    }
});

并像这样使用它:

代码语言:javascript
复制
expect(variable).toBeBooleanOrNull();
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50621759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档