我正在尝试使用jasmine(以及jasmine-given和jasmine-stealth)测试我的节点应用中设置的快速路由。我在循环中这样做,但比较的要点是(在coffeescript,顺便说一下):
route = app.stack.shift()
expect(route).toEqual
route: ''
handle: jasmine.any(Function)
我在这个特定的测试中使用jasmine.any,因为handle函数来自一个快速的内部函数(如express.static(/*stuff*/)
)。当我用grunt运行测试时,我会收到以下消息的失败:
Message:
Expected { route : '', handle : Function } to equal { route : '', handle : Function }.
那些看起来和我一样。我错过了什么吗?
答案 0 :(得分:1)
看起来不匹配的函数是添加了属性的函数。类似的东西:
var f = function() { . . . }
f.otherFunction = function() {
console.log("Ha! You'll never know this is here!");
}
我最后改变了我测试这些的方式,但我认为值得为发生在其上的其他人解释这个问题。