我目前正在尝试创建一个调用另一个类的 JUnit 测试。我已经用尽了我所知道的一切方法,但我似乎无法把它做好。 GetHistory 测试是让我头疼的一个。任何帮助或提示都会很棒!
package medical.com.medicalApplication.model;
/**
*
*
* This class represents a medical record model in the system
*
*/
public class MedicalRecord {
private Patient patient;
private PatientHistory history;
public MedicalRecord(Patient patient) {
super();
this.patient = patient;
this.history = new PatientHistory();
}
public Patient getPatient() {
return patient;
}
public PatientHistory getHistory() {
return history;
}
}
这是我当前的代码:
package medical.com.medicalApplication.model;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import medical.com.medicalApplication.model.PatientHistory;
public class MedicalRecordTest {
@Test
public void testGetPatient() {
String patient = "Perez";
Patient test = new Patient(patient, patient);
assertTrue(test.getName().equals(patient));
}
@Test
public void testGetHistory() {
String history = "Diabetic";
PatientHistory test = new PatientHistory();
assertTrue(test.getHistory.equals("Diabetic"));
}
}
最佳答案
您还没有在这里教授所有其他类(class)。另请格式化您的代码,以便正确显示您的类。
如果没有实际的文件,我最好的猜测是这些文件应该返回类的实例。
public Patient getPatient() {
return this.patient;
}
public PatientHistory getHistory() {
return this.history;
}
此外,您的测试是错误的。
在这种情况下,您的测试应该使用assertEquals:
assertEquals(patient.getFirstName(), medicalRecord.getPatient().getFirstName());
如果您使用assertTrue,您的错误消息将没有帮助。它将是:
expected false was true
如果您使用assertEquals,您的错误消息将会更有帮助。将会是
expected "perez" but was "abc"
关于java - 通过调用另一个类进行 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62124404/