使用错误消息

时间:2017-02-06 15:04:01

标签: unit-testing jasmine

如何扩展JASMINE匹配器,并在不匹配时抛出自定义错误消息。

我需要这样的东西:

expect(expected)
    .toEqual(actual)
    .throw('Objects are not equal. Expected: ..., Actual: ...');

我需要这些消息来更快地发现问题,因为我可以在此消息中包含许多有用的信息,例如序列化的匹配对象等。

更新:在下面的答案中找到解决方案

1 个答案:

答案 0 :(得分:1)

我找到了!这很简单!只需将其他参数添加到Jasmine匹配器中,它就会在期望失败的情况下打印出来。

简单检查(toEqual仅使用第一个参数进行比较):

expect(1).toEqual(2, '1 not equal 2');

打印的控制台结果将是:

Expected 1 to equal 2, '1 not equal 2'.

成功比较时 - 不会打印控制台消息。此功能在Jasmine 2.x版本中可用。