[英]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"
但是我得到一个类型错误“未定义不是一个函数”。 我在这里做错了什么? 这是完整的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;
编辑:
即使直接从新的开发副本运行普通的 tests.html 也会给我未定义的错误:
在量角器 E2E 测试中使用 Timeshift 时,我遇到了同样的问题。
是因为Timeshift不是节点模块,所以不是必须的,所以我创建了一个fork,欣赏: https : //github.com/cvakiitho/TimeShift-js/blob/master/timeshift.js
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.