java - 解释 JUnit 测试结果?

标签 java junit testng mockito

我有一个方法 (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/

相关文章:

java - JUnit的assertTrue()方法调用,是否缺少对象?

java - 将 ehcache 添加到 DAO 类后,Junit 测试失败,无法在测试类中实例化 DAO

java - 集合的奇怪行为 - 排序方法

java - 在运行单个测试用例时,是否有一种好的方法来进行测试套件的初始化?

java - Hibernate 查询用于从具有路径变量输入的表中选择值

testng - 有没有一种方法可以显示属于某个TestNG组的所有测试?

java - org.apache.commons.exec.ExecuteException : Process exited with an error with ChromeDriver Chrome Selenium and TestNG Suite

java - 如何在 TestNG.xml 文件的类路径中使用正则表达式

java - 通过URI获取内容

java - 如何在不使用 String Buffer 类的 Replace() 方法的情况下替换字符串中的字符?