As a model of XP development (done at a few thousand feet above ground) I was expecting a solid bug free transperant code for JUnit. Comme un modèle de développement XP (faite à quelques milliers de pieds au-dessus du sol) Je m'attendais à un solide sans bug transperant code de JUnit.

I noticed few interesting bugs & surprising features in the code. J'ai remarqué quelques bugs et intéressantes caractéristiques surprenant dans le code.

If you want to increase your test count (possibly for your manager who checks the tests written or for your customer) by a factor x (without actually performing the tests) then just override the default implementation of countTestCases() to return x. Si vous voulez augmenter votre compte d'essai (peut-être pour votre gestionnaire qui vérifie les tests écrits ou pour votre client) par un facteur X (sans effectivement les tests) puis seulement l'emporter sur la mise en œuvre par défaut de countTestCases () pour retourner x. The documentation says “Counts the number of test cases executed by run(TestResult result)”. La documentation dit "compte le nombre de cas de tests exécutés par run (Résultats de test result)". However in reality it always returns 1. Toutefois, en réalité, il renvoie toujours 1.
If you have 10 test cases in your Test class and if you return 20 in your impl. Si vous disposez de 10 cas de test dans votre classe d'essai et si vous retournez dans votre 20 mise. of countTestCases() then the total test count is shown as 200. countTestCases de () le nombre total d'essai est de montré que 200. However in reality only 10 tests are run. Toutefois, en réalité, seulement 10 tests sont gérés.

The code has interesting tests performed on a TestCase subclass like it checks that there is at least one method with name starting with test (could be just test() ). Le code est intéressant d'essais effectués sur une sous-classe TestCase comme il vérifie qu'il existe au moins une méthode avec un nom commençant par test (peut être tout test ()). It checks that there is a public constructor which accepts a string as parameter. Il vérifie qu'il existe un constructeur public qui accepte une chaîne comme paramètre. It could still do nothing. Il pourrait encore ne rien faire.

These are interesting ideas half-baked which feels forced on the user, specially when you decide to override the default implementation to hook it to your test generator. Ce sont des idées intéressantes à mi-cuit au four qui se sent forcé sur l'utilisateur, en particulier lorsque vous décidez de passer outre la mise en œuvre par défaut à accrocher à votre générateur de test. Also you might have noticed that the error messages are often not very illuminating when the cons is missing. Aussi vous avez peut-être remarqué que les messages d'erreur sont souvent pas très éclairante lorsque les inconvénients est manquant.

The code does this funny passing back and forth with run variants between TestCase & TestResults for no apparent reason before finally calling testBare. Le code ne passant ce drôle de part et d'exécuter avec des variantes entre TestCase & TestResults sans raison apparente avant de finalement appeler testBare. Methods like runProtected or run variants belong to TestCase. Méthodes comme runProtected terme ou variantes appartiennent à TestCase. At the least lets keep the run methods in one class instead of calling each other back and forth. Au moins permet de garder le terme méthodes dans une classe au lieu d'appeler les uns les autres et inversement.

Pages: 1 Pages: 1 2 3