在端到端 Protractor 测试中使用 TimeShift.js
Using TimeShift.js in end to end Protractor tests
我正在尝试使用 TimeShift.js 模拟标准 Javascript 日期。这样我就可以指定一个时区而不是使用系统时区。
文档似乎很清楚,只是require
库并像这样使用它:
Date = TimeShift.Date;
TimeShift.setTimezoneOffset(-300);
TimeShift.setTime(1275393600000);
new Date().toString();
// => "Tue Jun 01 2010 17:00:00 GMT+0500"
但是我得到一个 TypeError "undefined is not a function"。我在这里做错了什么?这是完整的 step.js
文件:
var chai = require('chai');
var chaiPromise = require("chai-as-promised");
var HttpBackend = require('http-backend-proxy');
var utils = require('../utils.js');
var timeshift = require('../TimeShift.js');
var expect = chai.expect;
chai.use(chaiPromise);
var fs = require('fs');
var steps = function() {
var proxy = null;
this.Before(function(scenario, callback) {
proxy = new HttpBackend(browser);
Date = timeshift.Date;
timeshift.setTimezoneOffset(-300);
timeshift.setTime(1275393600000);
callback();
});
this.After(function(scenario, callback) {
proxy.onLoad.reset();
callback();
});
}
module.exports = steps;
编辑:
甚至 运行 直接从 develop 的新副本直接 tests.html 给了我未定义的错误:
我在量角器 E2E 测试中使用 Timeshift 时遇到了同样的问题。
因为Timeshift不是一个node模块,所以不能要求,所以我创建了一个fork,enjoy:https://github.com/cvakiitho/TimeShift-js/blob/master/timeshift.js
我正在尝试使用 TimeShift.js 模拟标准 Javascript 日期。这样我就可以指定一个时区而不是使用系统时区。
文档似乎很清楚,只是require
库并像这样使用它:
Date = TimeShift.Date;
TimeShift.setTimezoneOffset(-300);
TimeShift.setTime(1275393600000);
new Date().toString();
// => "Tue Jun 01 2010 17:00:00 GMT+0500"
但是我得到一个 TypeError "undefined is not a function"。我在这里做错了什么?这是完整的 step.js
文件:
var chai = require('chai');
var chaiPromise = require("chai-as-promised");
var HttpBackend = require('http-backend-proxy');
var utils = require('../utils.js');
var timeshift = require('../TimeShift.js');
var expect = chai.expect;
chai.use(chaiPromise);
var fs = require('fs');
var steps = function() {
var proxy = null;
this.Before(function(scenario, callback) {
proxy = new HttpBackend(browser);
Date = timeshift.Date;
timeshift.setTimezoneOffset(-300);
timeshift.setTime(1275393600000);
callback();
});
this.After(function(scenario, callback) {
proxy.onLoad.reset();
callback();
});
}
module.exports = steps;
编辑:
甚至 运行 直接从 develop 的新副本直接 tests.html 给了我未定义的错误:
我在量角器 E2E 测试中使用 Timeshift 时遇到了同样的问题。
因为Timeshift不是一个node模块,所以不能要求,所以我创建了一个fork,enjoy:https://github.com/cvakiitho/TimeShift-js/blob/master/timeshift.js