公共类经理扩展员工
{

/**
 * Manager Constructor takes in arguements and calls superclass
 * @param id
 * @param weeklyPay
 */
public Manager(int id, double weeklyPay) // Constructor
{
    super(id);
    super.weeklyPay=weeklyPay;
}

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

public double calculateWeeklyPay() // calculates weeklypay
{
    return super.weeklyPay;
}


我必须测试toString方法和calculateWeeklyPay方法。我该怎么做?

最佳答案

不确定您是否要测试该类,因为超级类中的逻辑看起来很像。但是这里...

assertEquals(42d, new Manager(1, 42d).calculateWeeklyPay,0.001);


并测试字符串是否等于(假设super.toString返回MyString

assertEquals("ManagerMyString", new Manager(1, 42d));


右侧的toString会自动调用,或者如果您想明确

assertEquals("ManagerMyString", new Manager(1, 42d).toString());


所有这些方法都是JUnit的一部分,可以通过Assert类静态导入到Java文件中。

07-27 13:57