我正在使用Jasmine 2.5.3并且正在编写一个首先处理输入的customMatcher;创建一个数组,然后根据预期值检查该数组。
我已经能够编写匹配器并使其正常工作。但是,在尝试使用toEqual
比较Jasmine中的两个数组时,我非常喜欢输出,并且我希望返回与输出的message
属性相同的消息。这怎么可能?我已阅读文档,但我没有看到任何有关重用错误消息的信息。当我阅读源代码时,我确实看到了对diffBuilder.getMessage()
的引用,但我没有看到任何关于使用它的注释。
详细说明,这是我的匹配器的伪代码:
return {
compare: function(input, expected) {
var actual = foo(input); //actual is an array
return {
pass: actual === expected,
message: //same as failure of: expect([1]).toEqual([3])
};
}
}
补充说明/澄清:
foo
放在一个模块中,因为它只是测试模块的帮手,我想尽可能保留自定义匹配器toEqual
:jasmine.matchers.toEqual
,但我无法获取有关收到错误消息的任何信息答案 0 :(得分:0)
return {
compare: function(input, expected) {
var actual = foo(input);
return (expect(actual).toEqual(expected))
}
}