Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 初始化错误:测试类应该只有一个公共零参数_Java_Junit4 - Fatal编程技术网

Java 初始化错误:测试类应该只有一个公共零参数

Java 初始化错误:测试类应该只有一个公共零参数,java,junit4,Java,Junit4,我正在初始化错误 异常:测试类应该只有一个公共零参数构造函数 我的代码是这是Java编程访谈中的一个示例: 任何帮助都将不胜感激。错误正好说明了问题所在。您的类没有一个公共零参数构造函数 但黄金法则是在商业课程之外进行测试。所以,创建一个名为public class ComplexTest的新类,并将您的测试方法放在那个里 嗯。虽然我定义了零参数构造函数并尝试运行测试,但我得到了一个错误:测试类只能有一个构造函数。不过,创建单独的测试类是可行的。黄金规则是否内置于Java语言中?如果您的业务类没

我正在初始化错误

异常:测试类应该只有一个公共零参数构造函数 我的代码是这是Java编程访谈中的一个示例:


任何帮助都将不胜感激。

错误正好说明了问题所在。您的类没有一个公共零参数构造函数


但黄金法则是在商业课程之外进行测试。所以,创建一个名为public class ComplexTest的新类,并将您的测试方法放在那个里

嗯。虽然我定义了零参数构造函数并尝试运行测试,但我得到了一个错误:测试类只能有一个构造函数。不过,创建单独的测试类是可行的。黄金规则是否内置于Java语言中?如果您的业务类没有arg构造函数,也没有其他可以工作的构造函数,那么它在技术上就不是内置的,但是将其分离是非常合理的想法。测试代码在生产环境中是无用的,所以您不希望将其编译并与生产代码打包在一起,这就是为什么您将所有测试放在单独的测试类中。如果将其混合在一起,就不可能从发布包中提取测试代码。检查是否有意义。非常感谢你精确的回答。
import org.junit.*;

import static org.junit.Assert.*;

public class Complex {
    private final double real;
    private final double imaginary;

    public Complex(final double r, final double i) {
        this.real = r;
        this.imaginary = i;
    }
    public Complex add(final Complex other) {
        return new Complex(this.real + other.real,
                this.imaginary + other.imaginary);
    }
    // hashCode omitted for brevity
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Complex complex = (Complex) o;
        if (Double.compare(complex.imaginary, imaginary) != 0) return false;
        if (Double.compare(complex.real, real) != 0) return false;
        return true;
    }

    @Test
    public void complexNumberAddition() {
        final Complex expected = new Complex(6,2);
        final Complex a = new Complex(8,0);
        final Complex b = new Complex(-2,2);
        assertEquals(a.add(b), expected);
    }
}