public String getBloodPressureLevel() {
if (this.systolic > MedicalRecord.AT_RISK_SYSTOLIC_UPPER_BOUND
|| this.diastolic > MedicalRecord.AT_RISK_DIASTOLIC_UPPER_BOUND) {
return "High";
} else if ((this.systolic >= MedicalRecord.AT_RISK_SYSTOLIC_LOWER_BOUND
&& this.systolic <= MedicalRecord.AT_RISK_SYSTOLIC_UPPER_BOUND)
|| (this.diastolic >= MedicalRecord.AT_RISK_DIASTOLIC_LOWER_BOUND
&& this.diastolic <= MedicalRecord.AT_RISK_DIASTOLIC_UPPER_BOUND)) {
return "At risk";
} else {
return "Normal";
}
}
Test cases i'm supposed to have
我只是不确定该怎么做
答案 0 :(得分:3)
您首先阅读有关JUnit工作原理的教程,例如here。
然后您考虑生产代码中不同的 corners ,然后执行类似的操作
@Test
public void testForHigh() {
YourClass underTest = new YourClass(/*systolic*/ 200, /*diastolic*/ 100);
assertThat(underTest.getBloodPressureLevel(), is("High"));
}
(其中is()
是一个hamcrest匹配器,允许编写更多人类可读的测试条件,并且假设您有一些使用收缩压和舒张压数据点实例化的类)
这里的重点是:您必须研究应该使用的工具,然后针对每种可能的情况实施至少一个一个方法,代表您的11种不同的测试输入。
(不,我不会给您更多代码。以上内容是为了启发您自己完成这项工作。)