I have a wierd problem, I am trying to test a method and expecting it to throw java.util.NoSuchElementException. Here's my test code:
@Test(expected = NoSuchElementException.class) public void testLineWithoutCommas(){ String lineToTest = "[email protected]"; List<String> linesToTest = new ArrayList<String>(); linesToTest.add(lineToTest); applicationChecker = new ApplicationChecker(); applicationChecker.getLinesFromFile(linesToTest); applicationChecker.getDetailsFromLine(applicationChecker.getLines().get(0)); } Stack trace looks as expected:
java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(Unknown Source) at java.util.StringTokenizer.nextElement(Unknown Source) at com.scottlogic.cat.util.ApplicationChecker.getDetailsFromLine(ApplicationChecker.java:34) at com.scottlogic.cat.utils.ApplicationCheckerTest.testLineWithoutCommas(ApplicationCheckerTest.java:42) 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) and more boring stuff... and finally jUnit:
java.lang.AssertionError: Expected exception: java.util.NoSuchElementException at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:32) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) and blah blah blah... Any ideas what's wrong? Thanks for any help.