java ut_【JAVA UT】2、写UT的科学步骤
文|碼術(shù)張
在形式上,UT即是一個個測試類。
一個測試類,包含若干method,這些method,對被測試類的method的功能,進行驗證。
一個測試類,是如何誕生的呢?本節(jié)將詳細說明。
被測試類Result如下:
public Class Result {
private String downLoadStatus;
private String failureReason;
public Result(String status, String reason) {
downLoadStatus= status;
failureReason= reason;
}
@Override
public String toString() {
return "downLoadStatus: "+ downLoadStatus+ ", "
+ "failureReason: " + failureReason;
}
}
類Result中:
屬性downLoadStatus,表示下載狀態(tài),如“Ongoing”,“Ok”,“Fail”。
屬性failureReason,表明失敗原因,例如“cannot connect”。
方法toString,將上面兩個屬性值組合為一個string。
ut如下:
public class ResultTest {
@Test
public void should_returnString() {
// given
String expectedString = "downLoadStatus: Fail, failureReason: cannot connect";
Result result = new Result("Fail", "cannot connect");
// when
String realString = result.toString();
// then
Assert.assertEquals(expectedString, realString);
}
}
可以將完成ut的過程拆分出如下的步驟:
第1步:確定目標(biāo)。
要測試什么?
在本例中,是對toString這一method進行測試。
測試toString方法,是否會能將兩個值合并成預(yù)期的值。
第2步:提出假設(shè)。
假設(shè)toString的功能正常。
第3步:推測結(jié)論。
按照假設(shè),那么,執(zhí)行toString后,其返回值應(yīng)當(dāng)與期望值expectedString相等。
第4步:執(zhí)行被測功能。
執(zhí)行toString方法,并記錄實際值。
用java語句表示為:
Result result = new Result("Fail", "cannot connect");
String realString = result.toString();
第5步:進行驗證。
將實際值與期望值進行相等比較,驗證toString功能是否符合預(yù)期。
用java語句表示為:
String expectedString = "downLoadStatus: Fail, failureReason: cannot connect";
Assert.assertEquals(expectedString, realString);
第6步:編寫完整代碼
首先,創(chuàng)建一個類。
命名為ResultTest,表明這個類是為了測試Result。當(dāng)然,取其他名字,也不是不行。
public class ResultTest {
}
其次,創(chuàng)建一個方法。
將1-5步中的java語句放在這個方法中:
public void should_returnString() {
// given
Result result = new Result("Fail", "cannot connect");
String expectedString = "downLoadStatus: Fail, failureReason: cannot connect";
// when
String realString = result.toString();
// then
Assert.assertEquals(expectedString, realString);
}
再次,為這個方法添加@Test標(biāo)識。
總結(jié)
以上是生活随笔為你收集整理的java ut_【JAVA UT】2、写UT的科学步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle instant clien
- 下一篇: dmx512如何帧同步_stm32实现D