javascript - Jasmine对象 “has no method '并返回'”

标签 javascript unit-testing tdd jasmine

Jasmine 初学者, Jasmine spy 的第一次尝试。我以为我在模仿格式 displayed here (搜索:“andReturn”),但我收到一个无法解决的错误:

TypeError: Object function () {
        callTracker.track({
          object: this,
          args: Array.prototype.slice.apply(arguments)
        });
        return spyStrategy.exec.apply(this, arguments);
      } has no method 'andReturn'

不知道我做错了什么。这是我的规范:

describe('Die', function() {
    it('returns a value when you roll it', function() {
        var die = Object.create(Die);
        spyOn(Math, 'random').andReturn(1);
        expect(die.roll()).toEqual(6);
    });
});

以及对应的JS:

var Die = 
{   
    roll: function() {
        return Math.floor(Math.random() * 5 + 1);
    }
}

感谢您的帮助!!!

最佳答案

jasmine 2.0 更改了一些 spy 语法。 jasmine 2.0 docs

spyOn(Math, 'random').and.returnValue(1);

关于javascript - Jasmine对象 “has no method '并返回'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21590005/

相关文章:

javascript - 选择上一个 html 标签 onClick

scala - 在 ScalaTest + Mockito 中使用 Slick 模拟数据库并测试更新

unit-testing - 如何避免在单元测试中从 web.config 复制配置设置

unit-testing - 您如何称呼为从模拟中返回而创建的对象?

Symfony 中的 Javascript 单元测试

javascript - 如何更改现有脚本中的字体颜色?

javascript - 使用 Node.JS 下载 Torrent

javascript - 在具有Redux Thunk的React Redux应用程序中保持异步调用的DRY

linq - Moq 测试 LINQ Where 查询

c# - 将系统类作为构造函数参数传递