【问题标题】:JUnit assertEquals failureJUnit assertEquals 失败
【发布时间】:2016-03-06 17:03:50
【问题描述】:

我有以下测试方法一直失败:

/**
 * Test of averageResult method, of class MonthlyPayroll.
 */
public void testAverageResult() {
    System.out.println("averageResult");
    double[] MonthlySales = {4, 5, 6, 7, 8, 9};
    int howMany = 6;
    double expResult = 6.5;
    double epsilon = 1;
    double result = MonthlyPayroll.averageResult(MonthlySales, howMany);
    assertEquals(expResult, result, epsilon);
    // TODO review the generated test code and remove the default call to fail.
    fail("The test case is a prototype.");
}

该方法工作正常,当我调试测试时,结果和 expResult 相等,但我收到以下失败消息:

compile-test-single:
Testsuite: pkgbmc.MonthlyPayrollTest
averageResult
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.109 sec

------------- Standard Output ---------------
averageResult
------------- ---------------- ---------------
Testcase: testAverageResult(pkgbmc.MonthlyPayrollTest): FAILED
The test case is a prototype.
junit.framework.AssertionFailedError: The test case is a prototype.
at pkgbmc.MonthlyPayrollTest.testAverageResult(MonthlyPayrollTest.java:61)

有人知道为什么会发生这种情况以及如何解决吗?

【问题讨论】:

  • 我错过了什么吗?我不明白:你打电话给fail(...) 并问你为什么考试不及格?

标签: java junit


【解决方案1】:

调用失败

fail("The test case is a prototype.");

使测试失败。

请注意,在我认识的任何 IDE 中,您都可以(双击)该行

at pkgbmc.MonthlyPayrollTest.testAverageResult(MonthlyPayrollTest.java:61)

让您准确找到问题所在,这不是您的assertEquals

【讨论】:

  • 代码中甚至还有一个很大的TODO:“删除默认调用失败”;)
  • 哦,好吧,没有意识到这是发生了什么,从字面上看,今天第一次在 Java 和一般的 Java 中进行测试,并且在我进行的过程中试图解决它.谢谢。
  • @ailinmcc666 提示:查看生成的错误消息,其中包含错误发生位置的文件和行信息。我假设第 61 行是 fail(...)
  • @ailinmcc666 这里的每个人都曾是那个白痴。那些声望高的人更频繁。
猜你喜欢
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-30
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多