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
}
我希望它对某些人有用!
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
}
我希望它对某些人有用!