You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JUnit测试失败原因咨询:复数类Complex的add方法问题

你的JUnit测试失败原因分析

嘿,我一眼就看到了你代码里的几个拼写/大小写错误,这些应该就是导致测试失败的核心问题啦:

  • 变量名大小写不匹配
    Java是严格区分大小写的语言:

    • 你在构造方法里把虚部值存在了成员变量imagine(小写i),但在add方法里却写成了Imagine(大写I),这会直接导致找不到该变量的编译错误;
    • 同理,访问另一个复数对象的虚部时,other.Imagine也是错误的,应该是other.imagine。
  • 局部变量名拼写错误
    你在add方法里定义了局部变量temporaryImagine,但返回新Complex对象时却写成了tempImagine——少了个or,编译器根本找不到这个变量,自然会报错。

修正后的代码示例

public class Complex {
    private double real;
    private double imagine;

    // 构造方法:注意参数名imaginary和成员变量imagine的对应
    public Complex(double real, double imaginary) {
        this.real = real;
        this.imagine = imaginary;
    }

    // 修正后的add方法
    public Complex add(Complex other) {
        double temporaryReal = real + other.real;
        double temporaryImagine = imagine + other.imagine;
        return new Complex(temporaryReal, temporaryImagine);
    }
}

这些基础的拼写错误会导致编译失败,或者运行时抛出NoSuchFieldError之类的异常,直接让你的JUnit测试无法正常执行。修正这些问题后,再重新运行测试应该就能正常工作啦!

内容的提问来源于stack exchange,提问作者Joshua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:13:05