【发布时间】:2022-04-10 03:52:18
【问题描述】:
当我有
expect(result.toJSON())
.toEqual(<button className="btn btn-prev" onClick="{[Function onClick]}" type="button">Prev</button>);
它很接近但不太正确 - 只是缺少Function onClick:
expect(received).toEqual(expected) // deep equality
- Expected
+ Received
<button
className="btn btn-prev"
- onClick="{[]}"
+ onClick={[Function onClick]} // <--- the difference, Function onClick is missing
type="button"
>
Prev
</button>
但是,如果我尝试添加缺少的“Function onClick”,即
expect(result.toJSON())
.toEqual(<button className="btn btn-prev" onClick="{[Function onClick]}" type="button">Prev</button>);
我明白了
- onClick="{[Function onClick]}"
+ onClick={[Function onClick]}
如果我删除引号,我会在 onClick 处收到解析错误!
处理这个问题的正确方法是什么,这肯定是别人的问题
【问题讨论】:
-
你想写snapshot tests吗?请注意,它们不是高质量的测试,它们只是检测实现更改并且很少告诉您有关行为的信息。对于这个特定问题,[Function onClick] 是作为 prop 值传递的函数的 表示,而不是您可以比较的实际值 -
onClick="{[Function onClick]}"作为比较的 prop 没有任何意义。
标签: reactjs