Junit unecpected exception ausgeben



  • Hallo - Ich habe einen Unit Test geschrieben, wo ich auf eine Exception prüfe :

    exception	= (GameBoardException) setGameBoardValue(position);
    		assertNull(exception);
    

    Die Assert - Bedingung wird leider nicht erfüllt. Ich bekomme also von der Funktion einen Exception zurück. Leider ist in der Ausgabe von JUnit nicht der Inhalt der Exception zu sehen.
    hier mal die Ausgabe :

    junit.framework.AssertionFailedError: Expected: <null> but was: GameBoard.GameBoardException
    	at junit.framework.Assert.fail(Assert.java:50)
    	at junit.framework.Assert.assertTrue(Assert.java:20)
    	at junit.framework.Assert.assertNull(Assert.java:237)
    	at junit.framework.Assert.assertNull(Assert.java:230)
    	at test.GameBoardEngineTest.testCheckGameStatusWinnerDiagonalRightLeft(GameBoardEngineTest.java:105)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at junit.framework.TestCase.runTest(TestCase.java:168)
    	at junit.framework.TestCase.runBare(TestCase.java:134)
    	at junit.framework.TestResult$1.protect(TestResult.java:110)
    	at junit.framework.TestResult.runProtected(TestResult.java:128)
    	at junit.framework.TestResult.run(TestResult.java:113)
    	at junit.framework.TestCase.run(TestCase.java:124)
    	at junit.framework.TestSuite.runTest(TestSuite.java:243)
    	at junit.framework.TestSuite.run(TestSuite.java:238)
    	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
    	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    	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)
    

    Hat jemand eine Idee wie ich trotzdem an die Ausgabe von der Exception komme ?

    Vielen Dank



  • Puh ein bisschen den Grips anstrengen und schon kommt man drauf :

    Ich habe in meiner Exception Klasse einfach die toString Methode überschrieben.

    Danke trotzdem 👍



  • Ich habe keine Ahnung, was du dort versuchst, aber erwartete Exceptions gibt man in JUnit mit

    @Test(expected=YourFooException.class)
    public void testFoo() { }
    

    an.


Anmelden zum Antworten