1

我想在任何匹配器失败时显示一些自定义错误消息,假设我称之为

 expect(false).toBe(true);

显然它会返回 false 并且错误消息将是

Expected false to be true 

但在这里我想展示我的自定义消息。假设我想展示

You are expecting a false but its true .

这个怎么做 。提前致谢 。

4

2 回答 2

2

这不是您想要的,因为它不灵活,但它可以处理您的情况。

预期有未记录的功能 - 您可以包含自定义失败消息:

expect(false).toEqual(true, 'this is my custom error message');

在你的情况下:

expect(false).toBe(true, 'You are expecting a false but its true .');

否则,创建一个自定义匹配器(http://jasmine.github.io/2.0/custom_matcher.html):

jasmine.addMatchers({
    customToBe: function() {
        return {
            compare: function(actual, expected) {
                var result = {};
                result.pass = actual === expected;
                if (result.pass) {
                    result.message = "You are expecting a " + expected + " and its " + actual + " .";
                } else {
                    result.message = "You are expecting a " + expected + " but its " + actual + " .";
                }
            }
        };
    }
});
于 2016-07-15T11:21:42.213 回答
0

您必须为此编写自定义匹配器。因为错误消息是用茉莉花硬编码的。

于 2013-06-03T05:09:32.363 回答