解释JUnit测试结果?

时间:2014-10-27 19:34:52

标签: java junit testng mockito

我有(excpected = NumberFormatException.class)

的方法

方法:

@Test(expected=NumberFormatException.class)
public void testAssignCasesWithInvalidMemberId() throws IOException {
    when(info.getUID()).thenReturn(invalidId);
    when(request.getParameter("ac")).thenReturn(validCIds);
    custObj.assignNums();
}

作为执行方法的结果,我得到以下结果:

Expected exception: java.lang.NumberFormatException
junit.framework.AssertionFailedError: Expected exception: java.lang.NumberFormatException
at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:32)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
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)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37)
at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62)
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:532)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1179)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1030)

assignNums()方法中,invlidId将转换为Long,并抛出异常。

我的问题是理解结果文本。

TestNG输出与Expected xyz exceptiong, but this test method blah blah之类的代码相同的代码。提供有关其预期和实际内容的足够信息。

但是在JUnit的情况下,除了预期的xyz异常之外,它没有说什么。 TestNG说,它是否有其他异常或者根本没有得到Exception。

1 个答案:

答案 0 :(得分:0)

不,在这种情况下,JUnit不会具体告诉你什么被抛出(如果有任何东西被抛出)。它只是报告您希望抛出异常并且不抛出异常。所以,测试失败了。同意多一点信息会有所帮助。