jasmine如何在javascript中覆盖对象文字的测试用例

问题描述 投票:1回答:1

在我的代码中是对象文字。如何使用茉莉花来覆盖测试用例。我的示例代码如下,

var objLiteral = {
   foo: function() {
      return bar;
   }
};

我使用Jasmine尝试了以下测试用例。测试用例1:

var tape = jasmine.createSpyObj(objLiteral, ['foo']);
tape.foo();
expect(tape.foo.calls.any()).toEqual(true);

测试用例2:

spyOn(objLiteral, 'foo');
objLiteral.foo();
expect(objLiteral.foo).toHaveBeenCalled();

注意:两个测试用例都没有任何错误地传递。但代码不包括在内。

javascript jasmine karma-jasmine google-chrome-headless
1个回答
0
投票

上面的代码创建了一个间谍对象。因此,实际对象和实际函数不会被调用。因此,代码不包含在测试中。

© www.soinside.com 2019 - 2024. All rights reserved.