繁体   English   中英

茉莉如何比较复杂的对象和数组

[英]how does jasmine compare complex objects and arrays

在jasmine中, expect(a).toEqual()等比较助手如何在源代码中工作? 它是通过ducktyping检查的吗?

每当您不确定时,请查看源代码

在此输入图像描述

(取自学习阅读源,卢克 )。

我不会引用实际的实现(它非常大),但这是执行检查的底层util函数

仅供参考,它实际上是从_.isEqual()改编而来,并使用堆栈来执行深层对象和数组比较。

请注意,您可以通过添加自定义相等测试程序来扩展茉莉花相等性检查。

简短的回答

toEqual比较两个对象的所有属性,如果相应的值相等则返回true。

答案很长

您可以在源代码中跟踪toEqual的跟踪,并最终落在eq方法中 ,该方法提供了详细信息......(我引用了源代码:' 在下划线中精心改编为isEqual ')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM