J'essaie actuellement d'évaluer différents cadres de test. Lorsque vous utilisez des frameworks moqueurs (je penche pour FakeIt, mais google mock est bon aussi), je sais que vous pouvez tester vos propres performances en utilisant les appels du timer avant et après l'appel d'une fonction pour vérifier les performances de la fonction. Ce n'est pas ce que je cherche.Comment puis-je tester un appel est fait après un délai dans google test en utilisant un cadre moqueur
Ce que j'ai, ce sont des classes qui implémentent des délais sur les sorties pour certaines entrées. Par exemple:
- entrée 1 passe de bas à haut
- sortie 1 passe de bas à haut après 1,5 seconde.
Je voudrais pouvoir faire quelque chose où je précise une limite:
myMock.theInput();
EXPECT_CALL(myMock, theDelayedOutput())
.Times(1)
.Before(1.6sec)
.After(1.4sec);
Pour plus de précisions, les Before
et After
lignes ne sont pas pris en charge. Ceci est juste un exemple de ce que je préfère comme une syntaxe facile.
Est-il possible d'implémenter simplement une fonction "retard" dans les fenêtres entre faire l'appel d'entrée et avant de vérifier EXPECT_CALL
?
Cela fait partie du processus - il me faudrait encore démarrer une minuterie propriétaire. Quelque chose comme ça?
myMock.theInput();
windowSleep(1.4);
startTimer();
EXPECT_CALL(myMock, theDelayedOutput())
.Times(1)
endTimer();
ASSERT_TRUE(elapsedTime() <= 0.2);