Ich arbeite an einem Testfall und ich habe Probleme. Es fällt mir schwer, meine Testfälle zur Arbeit zu bringen. Hier ist der Code:Testfall funktioniert nicht richtig. Ausgabe-Einstellung zwei Zahlen gleich zueinander
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);
}
}
Das Problem ist, wenn ich meine Testfall laufen sie sagt, dass newhour 7 ad Stunde ist noch 1. Hat jemand Warum?
Es gibt keinen Code, der entweder 'hour' oder' newHour' ändert ... Sind Sie sicher, dass Sie den gesamten Code geschrieben haben? (Siehe [MCVE] als Anleitung) –
Ich meine, ich kann meinen gesamten Code posten. Aber das ist der Code, der für das Problem relevant ist. Würde es helfen, wenn ich einfach alles posten würde. –
Wenn das der Fall ist, möchten Sie vielleicht etwas über Java lesen ... Sieht so aus, als ob Sie annehmen, dass Werte als Referenz übergeben werden - siehe http://stackoverflow.com/questions/3326112/java-best-way-to-pass -int-by-reference –