Ich schreibe einen Mokkatest für eine Aufgabe und ich möchte den Wert B 3 Minuten nach der Rückkehr von Funktion A überprüfen. Also, ich suche nach etwas, das mir hilft, die Zeit zu ändern, weil ich eigentlich nicht 3 Minuten warten möchte. Ich muss überprüfen, ob ein Bestätigungscode nach 3 Minuten entfernt wird oder nicht, ich diese Zeile in meiner Redis-Datenbank haben:Mit Sinon Redis einen Schlüssel ablaufen lassen
RedisClient.expire(data._id, 180);
und in meiner Testdatei habe ich einen Test:
it('should send a confirmation code for: 00989130000963', function (done) {
api
.post(settings.UserRegister)
.set("ping-client", "M")
.set("type","register")
.expect(200)
.send(postData)
.end(function (err, res, body) {
if (err) {
throw err;
}
if (res.body.result === "WAIT") {
if (res.body.confirmHeader !== "") {
clock.tick(180*1000 + 100)
console.log(clock)
done();
}
throw new Error("no header set");
} else {
throw new Error("not in the wait state");
}
});
aber clock.tick funktioniert nicht wie erwartet. Nach diesem Test sollte ein Benutzer in der Lage sein, erneut einen Bestätigungscode anzufordern, da der alte gelöscht werden sollte, aber es scheint, dass der alte noch in Redis ist.
Haben Sie einen Code, um uns zu zeigen? – MarcoL
Willkommen bei StackOverflow. Damit die Leute Ihnen helfen können, stellen Sie sicher, dass Sie einige Ihrer Aufgaben (z. B. Ihren Code) in die Frage eingeben und die bereits geleistete Arbeit zeigen. Dann werden wir Ihnen eher helfen :) – deeveeABC