2
我試圖用TimeShift.js來模擬標準的JavaScript日期。這樣我可以指定一個TimeZone而不是使用系統。在端到端使用TimeShift.js量角器測試
的文件似乎是很清楚,只是require
庫,並使用它像這樣:
Date = TimeShift.Date;
TimeShift.setTimezoneOffset(-300);
TimeShift.setTime(1275393600000);
new Date().toString();
// => "Tue Jun 01 2010 17:00:00 GMT+0500"
不過,我得到一個類型錯誤「undefined是不是一個函數」。我在這裏做錯了什麼?這是完整的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.js文件的最佳位置在哪裏?我如何在代碼中使用它? –
我把它放在我的幫助程序目錄中: http://stackoverflow.com/a/32335796/2374517 但是我在E2E測試中使用它,下面是頁面對象模式,所以我不確定你的情況。 – cvakiitho