2010-12-02 8 views
1

Généralement, les échecs Junit Assert apparaissent dans l'onglet Junit, avec une barre rouge. Toutefois, Eclipse n'a pas commencé à afficher toutes les défaillances en tant que trace de pile, comme ci-dessous. Comment puis-je le configurer pour les afficher dans l'onglet Junit?Échecs d'assertion Junit dans Eclipse affichés comme trace de pile plutôt que dans l'onglet Junit

Merci

(une sortie foiré avec des symboles gt lt)

 
org.junit.ComparisonFailure: expected: but was: 
at org.junit.Assert.assertEquals(Assert.java:123) 
at org.junit.Assert.assertEquals(Assert.java:145) 
at org.mskcc.portal.oncoPrintSpecLanguage.OncoPrintSpecificationTestInParser.testOncoPrintSpecificationInParser(OncoPrintSpecificationTestInParser.java:507) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 

Répondre

0

L'erreur ComparisonFailure est lancé à partir Assert.assertEquals, pas votre code. Donc je pense que c'est déjà TOUTES les traces de pile.

0

L'affirmation n'a pas échoué, en soi, la valeur que vous étiez en train de comparer est en réalité une trace de pile. L'affirmation montre les valeurs attendues et réelles. L'attendu est vide. Est-ce supposé être nul ou une chaîne vide?

Peut-être que quelque chose comme cela est arrivé:

//test code 
String msg = foo.bar(); 
assertEquals(msg, "some string"); 

//code under test 
class foo 
{ 
    String bar() 
    { 
     try{return "some string";} 
     catch (exception e) 
     { 
      return e.stacktrace(); 
     } 
    } 
} 
Questions connexes