如果变量具有反应组件作为值,我如何使用 mocha/chai/sinon 进行单元测试?

How do i unit test using mocha/chai/sinon if a variable has a react component as value?

我有一个变量,它根据条件为真或假动态分配给 React 组件。

if(isValid) {icon = <ErrorIcon className: "error"/>}
else {icon = <SuccessIcon className: "success"/>

如何在单元测试中测试图标的预期值是一个组件还是其他组件?

if (icon.type === SuccessIcon) {

} else if (icon.type === ErrorIcon) {

}

应该可以解决问题。

不确定这个 API 有多可靠,但每个 React 组件实例都有一个 type 属性,因此您可以根据组件定义检查它:

const isErrorIcon = icon.type === ErrorIcon

所以在你的情况下:

expect(icon.type).to.equal(ErrorIcon)