尝试做一些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';
就这样!