【发布时间】:2021-07-03 17:14:01
【问题描述】:
您好,我正在尝试使用测试用例测试我的 Calculator.java 类,但出现此错误:
java.lang.AssertionError: 预期: 但是是:main.Calculator@5bb21b69 预期:3 实际:main.Calculator@5bb21b69
这是我写的测试用例
public class CalculatorTest {
@Test
public void testCalculator(){
Calculator calculator = new Calculator();
calculator.calculate(5,2,'-');
Assert.assertEquals(3,calculator);
}
这是我的计算器课
package main;
public class Calculator {
public Double calculate(double first, double second, char operator) {
double result;
switch (operator) {
case '+':
result = first + second;
break;
case '-':
result = first - second;
break;
case '*':
result = first * second;
break;
case '/':
result = first / second;
break;
// operator doesn't match any case constant (+, -, *, /)
default:
System.out.printf("Error! operator is not correct");
return null;
}
return result;
}
}
【问题讨论】:
-
您为什么要尝试将数字与
calculator对象进行比较? -
您可能希望将
3与calculate返回的值进行比较。一旦您开始尝试比较非整数值,它就会变得有趣。 -
我明白了……多么简单的问题。谢谢
-
@Oğuz 这并不像你想象的那么容易。浮点数的比较是一个相当复杂的话题。还有一个问题:为什么要使用 Double 包装器作为返回类型?