gpt4 book ai didi

java - 我的 JUnit 测试失败

转载 作者:行者123 更新时间:2023-12-02 02:11:33 25 4
gpt4 key购买 nike

为什么 JUnit 测试失败。我有一个名为 Complex for Complex Numbers 的类,其构造函数接受 2 个实数和虚数参数,如下所示

Public Complex(double real, double imaginary) {
this.real=real;
this.imagine=imagine;
}

然后我有一个添加方法,称为 add ,如下所示

Public Complex add (Complex other) {
double temporaryReal = real + other.real;
double temporaryImagine = Imagine + other.Imagine;
return new Complex(temporaryReal, tempImagine);
}

我设置了一个测试类来测试该方法。看起来像这样

public void testAdd() {
Complex other = new Complex(15, 30);
Complex newComplex = new Complex(15, 30);

assertTrue( myComplex.add(other) == newComplex );
}

如果我输入正确的参数,JUnit 测试应该通过。我哪里出错了?

最佳答案

myComplex.add(other) 返回一个对象引用。 newComplex 也是一个对象引用,它引用另一个对象。因此,当您说 myComplex.add(other) == newComplex 时,您试图检查两个引用是否相同,但事实并非如此。

如果要比较两个对象,则需要重写基类 Object 中的 equals()hashCode() 方法。引用this question了解如何做到这一点。

关于java - 我的 JUnit 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com