测试AngularJS控制器/w karma jasmine:&x27;jasmine.clock().mockDate(baseTime)和#x27;未定义

测试AngularJS控制器/w karma jasmine:&x27;jasmine.clock().mockDate(baseTime)和#x27;未定义,angularjs,unit-testing,karma-jasmine,Angularjs,Unit Testing,Karma Jasmine,测试设置: “因果报应茉莉”:“^0.2.3”, “karma phantomjs启动器”:“^0.1.4” 测试: “严格使用”; 描述('Controller:Ctrl',函数(){ //加载控制器的模块 在每个(模块(“应用”)之前; var Ctrl, 范围 //初始化控制器和模拟作用域 beforeach(注入函数($controller,$rootScope){ scope=$rootScope.$new(); Ctrl=$controller('Ctrl'{ $scope:scop

测试设置:
“因果报应茉莉”:“^0.2.3”,
“karma phantomjs启动器”:“^0.1.4”

测试:

“严格使用”;
描述('Controller:Ctrl',函数(){
//加载控制器的模块
在每个(模块(“应用”)之前;
var Ctrl,
范围
//初始化控制器和模拟作用域
beforeach(注入函数($controller,$rootScope){
scope=$rootScope.$new();
Ctrl=$controller('Ctrl'{
$scope:scope
});
jasmine.clock().install();
}));
它('范围.应正确',函数(){
var baseTime=新日期(2014年10月24日);
jasmine.clock().mockDate(baseTime);
expect(scope.sunday).toBe(false);
expect(范围:周一)。toBe(正确);
expect(范围:星期二).toBe(假);
expect(范围:周三)。toBe(假);
expect(范围:星期四)。toBe(假);
expect(scope.friday).toBe(false);
expect(scope.saturday).toBe(false);
});
});
给出了:

PhantomJS 1.9.8(Linux)控制器:Ctrl作用域。应该是正确的,但失败了

TypeError:“undefined”不是一个函数(计算“jasmine.clock().mockDate(baseTime)”)**

使用
karma jasmine
版本
0.3.x
,它本身不包括
jasmine
。然后指定包含所需功能的
jasmine
版本。

使用
karma jasmine
版本
0.3.x
,该版本本身不包括
jasmine
。然后指定包含所需功能的
jasmine
版本。

中没有提到
.mockDate()
。在谷歌上搜索茉莉花mockDate并没有给我带来任何快乐。你在哪里找到这个API?Jasmine 2.1文档中有一个“模仿日期”部分,然后可能尝试使用
karma Jasmine
version
0.3.x
,包括
Jasmine
的特定版本。哦。。。好的,谢谢。我以为karma jasmine是2.1版本的。所以这个mockDate没有包含在2.0中。我会把它作为一个答案发布出来。在中没有提到
.mockDate()
。在谷歌上搜索茉莉花mockDate并没有给我带来任何快乐。你在哪里找到这个API?Jasmine 2.1文档中有一个“模仿日期”部分,然后可能尝试使用
karma Jasmine
version
0.3.x
,包括
Jasmine
的特定版本。哦。。。好的,谢谢。我以为karma jasmine是2.1版本的。所以这个模拟日期没有包含在2.0中。我会把它作为答案发布。
'use strict';

describe('Controller: Ctrl', function () {

  // load the controller's module
  beforeEach(module('app'));

  var Ctrl,
    scope;

  // Initialize the controller and a mock scope
  beforeEach(inject(function ($controller, $rootScope) {
    scope = $rootScope.$new();
    Ctrl = $controller('Ctrl', {
      $scope: scope
    });

    jasmine.clock().install();
  }));

  it('scope.<day> should be correct', function () {

    var baseTime = new Date(2014,10,24);
    jasmine.clock().mockDate(baseTime);

    expect(scope.sunday).toBe(false);
    expect(scope.monday).toBe(true);    
    expect(scope.tuesday).toBe(false);
    expect(scope.wednesday).toBe(false);
    expect(scope.thursday).toBe(false);
    expect(scope.friday).toBe(false);
    expect(scope.saturday).toBe(false);

  });
});