我想在任何匹配器失败时显示一些自定义错误消息,假设我称之为
expect(false).toBe(true);
显然它将返回false并且错误消息将是
Expected false to be true
但在这里我想展示我的自定义信息。假设我要显示
You are expecting a false but its true .
如何做到这一点。提前致谢 。
答案 0 :(得分: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 + " .";
}
}
};
}
});
答案 1 :(得分:0)
您必须为此编写自定义匹配器。因为错误消息是在茉莉花中硬编码的。