使用 Cypress 进行 React 组件测试 - 'type'从何而来?



尝试做一些Cypress组件(react(。看看Cypress本身的src(node_modules/@secrys/react/dist/mount.js(,mount函数需要两个参数:

mount(jsx, options)

调试测试时,jsx是Symbol(react.element(类型的对象,具有未定义的属性type,但随后被传递给另一个函数getDisplayName(type),该函数查找type.displayName,从而产生未定义的"无法读取属性"displayName"的错误。"。

我试过几个版本的Cypress6.x,版本为4.16.4。

根据Cypress的文档,我对挂载的调用看起来像:

const myProps = {
blah: 'something',
bloop: 'something else'
}
mount(<myComponent {...myProps} />);

有人能指出哪里出了问题吗?在对"mount"的调用中,我的jsx参数如何/为什么具有type属性?这应该来自组件定义吗?FWIW,正在测试的组件是.js,而不是.jsx,如果这很重要的话?

TIA-

所以我的错误是一对不需要的{}s!

将我的组件作为函数而不是JSX模块导入。所以不是:

import { myComponent } from './myComponent';

我需要

import myComponent from './myComponent';

就这样!

相关内容

  • 没有找到相关文章

最新更新