【发布时间】:2015-04-27 12:05:09
【问题描述】:
我正在尝试编写一个自定义匹配器来测试一个字符串是否包含特殊数量的不同字符串的出现。这就是我所做的。
var matcher = {
toContainTimes: function (expected, num) {
return {
compare: function(actual){
actual.match(new RegExp(expected, "g") || []).length == num;
}
}
}
}
但执行此操作时出现错误:
TypeError: Cannot read property 'pass' of undefined
我的测试是这样的:
expect(queryString).toContainTimes("&", 2);
如果字符串 "&" 在 queryString 中恰好出现两次,它应该返回 true。 我做错了什么?
【问题讨论】:
-
你没有从你的匹配器
return任何东西。
标签: javascript testing jasmine matcher