2015-11-11 2 views
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" 

Однако я получаю TypeError «неопределенная не является функция». Что я здесь делаю неправильно? Это полный 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; 

EDIT:

даже запустить простую tests.html сразу из свежей копии разработки дает мне неопределенную ошибку:

enter image description here

ответ

2

У меня была такая же проблема с Timeshift, когда она использовалась в тестах E20.

Это потому, что Timeshift не является модулем узла, поэтому он не может быть потребовано, поэтому я создал вилку, наслаждайтесь: https://github.com/cvakiitho/TimeShift-js/blob/master/timeshift.js

+0

Ok спасибо! Итак, как я могу использовать вашу ветку в тестах e2e? –

+0

Я имею в виду, где лучше всего разместить файл TimeShift.js? Как я могу использовать его в своем коде? –

+0

У меня есть его в каталоге моих помощников: http://stackoverflow.com/a/32335796/2374517 Но я использую его внутри тестов E2E после шаблона объекта страницы, поэтому я не уверен в вашем случае. – cvakiitho

Смежные вопросы