Java Junit 失败:测试用例是原型错误?

Java Junit Failed: The test case is a prototype bug?

package Jut;
import org.junit.*;
import static org.junit.Assert.*;

public class JUTest {


@Test  
public void testDoubleComparison() {  

    double expected = 10.20;  
    double actual = 10.20;  

    assertEquals(expected, actual, 0.0);  
}  

}  

测试运行说:没有测试通过,1个测试失败:测试用例是一个原型。 (junit.framework.AssertionFailedError)

但我相信这会很好用。为什么没有通过?我正在使用 Netbeans 和最新的 Junit(我认为是 4.10?)。

"assertEquals" 失败,因为值是 double

您可以尝试对 epsilon 使用大于 0 的值

assertEquals(double expected, double actual, double epsilon)

所以只要 Math.abs(expected - actual) < epsilon

就会断言为真

你的测试没有问题。我尝试过使用 JUnit 4.12 和 Netbeans IDE 8.2 并测试通过。我也认为这是一个错误。

public void testComprovaNumero() {
    System.out.println("comprovaNumero");
    double num = 0.0;
    checknum instance = new checknum();
    double expResult = 0.0;
    double result = instance.comprovaNumero(num);
    assertEquals(expResult, result, 0.0);
    // fail("The test case is a prototype."); ----> Commenting on this line of code is what made the problem disappear

}

我希望它对某些人有用!