gpt4 book ai didi

java - JUnit 测试有问题吗?

转载 作者:行者123 更新时间:2023-12-01 18:56:53 24 4
gpt4 key购买 nike

这是我需要测试的员工父类(super class)的代码。

public abstract class Employee {
protected int id;
protected double weeklyPay;

public Employee(int id)
{
this.id=id;
}

public void setId(int id)
{
this.id=id;
}
public int getId()
{
return id;
}
public String toString()
{
return id+"has a weekly pay of "+weeklyPay;
}
public double getWeeklyPay()
{
return weeklyPay;
}

这是ManagerClass的代码

public class Manager extends Employee

public Manager(int id, double weeklyPay)
{
super(id);
super.weeklyPay=weeklyPay;
}

public String toString()
{
return "Manager " + super.toString();
}

这是管理器 JUnit 测试不起作用的部分

public void testToString() {
assertEquals("Manager 1has a weekly pay of 42", new Manager(1, 42).toString());

这是我收到的失败消息 org.junit.ComparisonFailure: Expected <...s a week pay of 42[]> but was <...s a week pay of 42[.0]>

最佳答案

因为您的 weekPay 是 double 型,所以 toString 方法将其打印为 42.0,并且因为您将其与字符串进行比较,所以它不会评估字符串中的 42。

试试这个:

assertEquals("Manager 1has weekly pay of 42.0", new Manager(1, 42).toString());

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

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