J'ai écrit une fonctionnalité pour ma bibliothèque Rubikon qui affiche un throbber (un — tournant comme vous avez pu le voir dans d'autres applications de console) tant qu'un autre code est en cours d'exécution.Test du code critique de temps
Pour tester cette fonctionnalité, je capture la sortie du throbber dans un StringIO
et la compare avec la valeur attendue. Comme le throbber n'est affiché que tant que l'autre code est en cours d'exécution, le contenu du IO
s'allonge lorsque le code est plus long. Dans mes tests, je fais un simple sleep 1
et devrait avoir un retard constant de 1 seconde. Cela fonctionne la plupart du temps, mais parfois (apparemment en raison de facteurs externes comme la charge lourde sur le CPU), il échoue, parce que le code ne fonctionne pas pendant 1 seconde, mais pour un peu plus, de sorte que le throbber imprime quelques personnages.
Ma question est la suivante: Y a-t-il une possibilité de tester ces fonctionnalités critiques dans Ruby?
Ça sonne bien, je vais vérifier celui-ci. – Koraktor