node.js - JEST expect.anything() 或 null
问题描述
expect.anything()
不适用于null
或未定义。无论如何我可以在下面的代码中包含对 null 或 expect.anything() 的检查吗?在这里,auth
可以是anything
或null
。
const transactionsListResponseKey = {
id: expect.anything(),
amount: expect.anything(),
currency: expect.anything(),
auth: expect.anything()
}
解决方案
您可以使用jest-extended的.toBeOneOf([members])断言 API与expect.anything()
.toBeOneOf
在检查一个值是否是给定数组的成员时使用。
import 'jest-extended';
describe('69198224', () => {
test('should pass', () => {
const auth1 = 'a';
const auth2 = null;
const auth3 = 1;
const auth4 = {};
const auth5 = undefined;
const auth6 = [];
const auth7 = () => {};
expect(auth1).toBeOneOf([null, expect.anything()]); // pass
expect(auth2).toBeOneOf([null, expect.anything()]); // pass
expect(auth3).toBeOneOf([null, expect.anything()]); // pass
expect(auth4).toBeOneOf([null, expect.anything()]); // pass
expect(auth6).toBeOneOf([null, expect.anything()]); // pass
expect(auth7).toBeOneOf([null, expect.anything()]); // pass
expect(auth5).toBeOneOf([null, expect.anything()]); // fail
});
});
推荐阅读
- javascript - JQWidgets jqxTabs 组错误 - 切换选项卡时的问题
- go - 以尽可能少的开销解析日志条目
- flutter - 是否可以将 Flutter 中的 PageView 设置为只能从边缘滑动?
- android - 在 Xamarin Forms 中绑定之前修改数据
- python - 如何将函数转换为类并将表单传递给 Django?
- python - 多重条件 IF/ELSE 语句 Robot Framework 4
- javascript - 我想在 React 的 VirtualizedSelect 中的箭头(展开)图标之前添加一个搜索图标。我们可以定制它吗?
- pandas - hoverinfo 中显示的文本不仅显示
- web - 基于桌面和 Web 的应用程序集成自动化框架
- delphi - 使用 THTTPRIO 的 Delphi SOAP 调用导致客户端错误“无法发送”