开玩笑期望数组包含元素

Skh*_*haz 3 javascript jestjs

假设我有以下代码:

const id = '1'

const arrayOfIds = ['1', '2', '3']
Run Code Online (Sandbox Code Playgroud)

我想检查id是否 arrayOfIds

像这样的东西

expect(id).toBeIn(arrayOfIds)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点Jest

Has*_*mam 14

.toContain当您想要检查某个项目是否在数组中时使用。为了测试数组中的项目,这使用了 ===,即严格的相等检查。

test('is id in arrayOfIds', () => {
        const id = '1';
        const arrayOfIds = ['1', '2', '3'];
        expect(arrayOfIds).toContain(id);
});
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,如果您需要检查数组中的一个对象,`.toContainEqual()` 会更好。“它检查所有字段的相等性,而不是检查对象身份。” (3认同)