Jasmine有createSpy()返回模拟对象

时间:2014-12-28 21:51:14

标签: javascript unit-testing express jasmine

我试图模拟一个响应对象,它看起来像这样:

var res = {
  status: jasmine.createSpy().andReturn(this),
  send: jasmine.createSpy().andReturn(this)
}

返回jasmine对象。我真的想要返回包含模拟函数的原始res变量。那可能吗?我主要是将这个实现到包含res.status()。send()的单元测试函数,这被证明是困难的。

2 个答案:

答案 0 :(得分:27)

这里的答案实际上非常快。调用andReturn()会给你茉莉花这个'。但是,如果你编写了andCallFake(),那么该函数会将模拟对象视为此。解决方案如下:

status: jasmine.createSpy().andCallFake(function(msg) { return this });

答案 1 :(得分:9)

这对我有用:

CREATE VIEW all_user AS
   SELECT * FROM agents
   UNION ALL
   SELECT * FROM clients
   UNION ALL
   SELECT * FROM admin