Question

Grâce à une mise à niveau de la bibliothèque (easymock 2.2 - > 2.4), des tests ont commencé à se bloquer. Je voudrais avoir une pause sur les tests individuels, tous. L'idée est d'identifier les tests verrouillés - nous en sommes en train de deviner - et de les corriger.

Est-ce possible, de préférence au niveau de la suite? Nous avons 400 tests, chaque méthode ou même chaque classe prendrait beaucoup de temps.

Était-ce utile?

La solution

Le balise de suite peut avoir l'attribut time-out. Ce délai sera utilisé par défaut pour toutes les méthodes de test.

Ce délai par défaut peut être remplacé par méthode de test.

Autres conseils

Si le niveau de la suite s'avère être une mauvaise approche (c'est-à-dire & "un réseau trop large &"; parce que vous finissez par marquer trop de méthodes avec une limite de délai), vous devez définir une IAnnotationTransformer personnalisé qui, pour chaque fonction illisible, vous donnera la possibilité de modifier une annotation @Test (avec, par exemple, le Méthode setTimout () ).
(setTimout(0) annule une directive de délai d'attente)

Très tard, mais si vous exécutez jstack -l <PID>, vous obtiendrez le vidage de pile que vous pourrez inspecter pour rechercher les appels bloqués. Vous voudrez peut-être goûter quelques fois pour vous assurer qu'ils sont bloqués.

Vous pouvez faire une recherche et remplacer " @Test " avec & "; @Test (timeout =) &"; Devrait fonctionner pour trouver le test verrouillé et peut être annulé par la suite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top