我有一个方法 (excected = 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 相同,但此测试方法等等等等
。提供有关预期内容和实际内容的足够信息。
但在 JUnit 情况下,除了 Expected xyz 异常之外,它没有说任何其他内容。是否遇到其他异常,或者根本没有遇到异常,TestNG 表示。
最佳答案
不,在这种情况下,JUnit 不会具体告诉您抛出了什么(如果抛出了什么)。它只是报告您期望抛出异常,但没有抛出异常。所以,测试失败了。同意提供更多信息会有所帮助。
关于java - 解释 JUnit 测试结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26595452/