Używam Mocha do pisania testów dla interfejsu API węzła. W jednym teście muszę wykonać 2 akcje i porównać sygnatury czasowe każdego z nich i upewnić się, że są różne. Aby to zrobić, muszę niezawodnie wstrzymać wykonanie testu na co najmniej sekundę. Próbowałem użyć setTimeout
, aby wstrzymać wykonywanie Mocha przed drugim połączeniem z ping
, ale to się nie dzieje.Użycie funkcji setTimeout() wstrzymanie testu mokki
it('should insert then update the timestamp.', function(done) {
Do.ping('arg1', function(err, result) {
should.not.exist(err);
setTimeout(Do.ping('arg1', function(err, result) {
// Test that the timestamp of the first ping is before the timestamp
// of the second ping (among other things)
done();
}), 1000);
});
});
Ktoś widzi to, co tu spartaczę? Alternatywnie, czy istnieje lepszy (tj. Bardziej Mocha-ish) sposób robienia tego, co próbuję zrobić?
Dzięki. Próbowałem już pakietu z sinonami do manipulowania zegarem JS i do tej pory pracowałem całkiem nieźle. –