【发布时间】:2017-04-05 05:06:38
【问题描述】:
我正在处理一个测试用例,但遇到了麻烦。我很难让我的测试用例正常工作。代码如下:
public class Appointment extends Actor
{
int hour;
String description;
public Appointment(int hour, String description)
{
super();
this.hour = hour;
this.description = description;
}
public void setHour(int newHour)
{
newHour = hour;
}
}
/////////
public class AppointmentTest extends TestCase
{
private Appointment appointment;
private int hour;
private String description;
private String newDescription;
private int newHour;
public AppointmentTest()
{
}
public void setUp()
{
appointment = new Appointment(hour, description);
this.hour = hour;
this.description = description;
hour = 7;
description = "";
newHour = 1;
newDescription = "hello";
}
public void testSetHour()
{
appointment.setHour(1);
assertEquals(newHour, hour);
}
}
问题是当我运行我的测试用例时,它说 newhour is 7 ad hour 仍然是 1。有谁知道为什么?
【问题讨论】:
-
hour或newHour都没有更改代码...您确定已发布所有相关代码吗? (请参阅minimal reproducible example 以获得指导) -
我的意思是我可以发布我所有的代码。但这就是我认为与问题相关的所有代码。如果我只发布所有内容会有所帮助吗?
-
如果是这种情况,您可能想阅读一些有关 Java 的内容...看起来您假设值是通过引用传递的 - 请查看 stackoverflow.com/questions/3326112/…