为啥在运行玩笑测试时出现“未定义:x:y:属性”缺失错误?

Posted

技术标签:

【中文标题】为啥在运行玩笑测试时出现“未定义:x:y:属性”缺失错误?【英文标题】:Why am I getting 'undefined:x:y : property' missing error when running jest tests?为什么在运行玩笑测试时出现“未定义:x:y:属性”缺失错误? 【发布时间】:2019-10-14 11:41:44 【问题描述】:

我正在使用 jest & styled-components,或者更具体地说是 jest-styled-components 进行测试。

我对一个名为 FormField 的组件进行了更改,该组件使用了组件 Form,在运行测试时,我收到以下错误。

    undefined:42:16: property missing ':'

      31 |     );
      32 |     const tree = component.toJSON();
    > 33 |     expect(tree).toMatchSnapshot();
         |                  ^
      34 |   );
      35 | 
      36 |   test('update', () => 

开玩笑的测试如下

  test('with field', () => 
    const component = renderer.create(
      <Grommet>
        <Form>
          <FormField name="test" />
        </Form>
      </Grommet>,
    );
    const tree = component.toJSON();
    expect(tree).toMatchSnapshot();
  );

我无法确定问题是什么,我对组件所做的更改没有显示任何错误,并且我在测试 FormField 组件时遇到了同样的错误。

【问题讨论】:

我猜你的其中一个组件的 SASS 代码有错字(很可能是缺少:)。另请参阅,问题#97 【参考方案1】:

我已经解决了这个问题。 问题是因为我对组件进行更改后没有更新快照。

可以用

jest --updateSnapshot or jest --u

【讨论】:

以上是关于为啥在运行玩笑测试时出现“未定义:x:y:属性”缺失错误?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 Express 上设置 CORS 时出现飞行前错误?

开玩笑的 expect.any() 没有按预期工作

为啥在使用 pytest-qt 进行测试时出现致命的 Python 错误?

为啥在运行 jupyter notebook 时出现错误?

开玩笑的 transformIgnorePatterns 不起作用

为啥在运行此 OpenCV 程序时出现此异常?