javascript - off - foco prendido animado
¿Cómo apago new Date() usando sinon? (1)
Sospecho que quieres la función useFakeTimers
:
var now = new Date();
var clock = sinon.useFakeTimers(now.getTime());
//assertions
clock.restore();
Esto es claro JS. Un ejemplo de trabajo de TypeScript / JavaScript:
var now = new Date();
beforeEach(() => {
sandbox = sinon.sandbox.create();
clock = sinon.useFakeTimers(now.getTime());
});
afterEach(() => {
sandbox.restore();
clock.restore();
});
Quiero verificar que varios campos de fecha se hayan actualizado correctamente, pero no quiero perder tiempo al predecir cuándo se llamó a la new Date()
. ¿Cómo apago el constructor de fecha?
import sinon = require(''sinon'');
import should = require(''should'');
describe(''tests'', () => {
var sandbox;
var now = new Date();
beforeEach(() => {
sandbox = sinon.sandbox.create();
});
afterEach(() => {
sandbox.restore();
});
var now = new Date();
it(''sets create_date'', done => {
sandbox.stub(Date).returns(now); // does not work
Widget.create((err, widget) => {
should.not.exist(err);
should.exist(widget);
widget.create_date.should.eql(now);
done();
});
});
});
En caso de que sea relevante, estas pruebas se ejecutan en una aplicación de nodo y usamos TypeScript.