J'exécute des cas de test JUnit avec le SDK Android, et j'ai constaté qu'aucun des assertEquals ne montre leurs valeurs attendues dans le journal.Fenêtre de trace d'échec pour junit 3 n'affiche pas les valeurs attendues
Voici un exemple d'assertion.
assertEquals("mocks", model.getUseTable());
Voici l'exception de défaillance.
junit.framework.ComparisonFailure: expected:<...k...> but was:<......>
at ca.thinkingmedia.gems.test.models.AbstractModelTest.test_Auto_Table_Name(AbstractModelTest.java:17)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1575)
Comme vous pouvez le voir les attendus valeurs sont masquées par des points. Cela prend beaucoup de temps pour déterminer quelles mauvaises valeurs ont été vérifiées.
Existe-t-il un moyen d'afficher ces valeurs correctement dans les messages d'exception?
Je suppose qu'il n'y a pas d'autre moyen. S'agit-il d'un problème Android ou tous les tests JUnit le font-ils? – cgTag
Créer ma propre classe de test qui écrase assertEquals (x, y) et ajoute "x" au message de raison semble être l'astuce la plus simple. – cgTag