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