【JAVA-UT】2、写UT的科学步骤

文|码术张

在形式上,UT即是一个个测试类。
一个测试类,包含若干method,这些method,对被测试类的method的功能,进行验证。

一个测试类,是如何诞生的呢?本节将详细说明。
被测试类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,表示下载状态,如“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步:确定目标。
要测试什么?
在本例中,是对toString这一method进行测试。
测试toString方法,是否会能将两个值合并成预期的值。

第2步:提出假设。
假设toString的功能正常。

第3步:推测结论。
按照假设,那么,执行toString后,其返回值应当与期望值expectedString相等。

第4步:执行被测功能。
执行toString方法,并记录实际值。
用java语句表示为:

   Result result = new Result("Fail", "cannot connect");
   String realString = result.toString();

第5步:进行验证。
将实际值与期望值进行相等比较,验证toString功能是否符合预期。
用java语句表示为:

String expectedString = "downLoadStatus: Fail, failureReason: cannot connect";
Assert.assertEquals(expectedString, realString);

第6步:编写完整代码
首先,创建一个类。
命名为ResultTest,表明这个类是为了测试Result。当然,取其他名字,也不是不行。

public class ResultTest {

}

其次,创建一个方法。
将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标识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值