走进单元测试:单元测试背后的思考和感悟
作者:网络转载 发布时间:[ 2012/7/11 11:10:02 ] 推荐标签:
1 public DataSet GetDetails(int ID)2 {3 // 方法的作用:这个一个获取数据,并包装成一个DataSet的方法,传入的参数是一个bondAppID,那么我们怎么来设计案例和命名方法名呢?5 }
① 首先设计你的测试案例
看到这个方法我会有这几个想法:1,大值 2,小值 3,刚刚好的值 4,随便一个值 5,还有的测试案例会随着你代码中的逻辑而产生!
下面是我的测试案例以及方法名的命名,测试方法是上面的那个:
/// <summary>
/// Input valid bond ,but the cheque is presented Status.
///</summary>
[TestMethod()] //如果你预期有数据返回,那么应该在后面加上“RecordFound”,这样别人看的时候能一目了然了!
public void GetDetails_CheckPresentedStatus_RecordFound()
{
//To Do.
}
/// <summary>
///Cancel Status.
///</summary>
[TestMethod()]
public void GetDetails_CheckCancelStatus_RecordFound()
{
//To Do.
}
/// <summary>
/// Input max.
///</summary>
[TestMethod()]
public void GetDetails_CheckDetailsByMaxBoundaryValue_NoRecordFound()
{
//To Do.
}
/// <summary>
/// Input min.
///</summary>
[TestMethod()]
public void GetDetails_CheckDetailsByMinBoundaryValue_NoRecordFound()
{
//To DO.
}
/// <summary>
/// Any bondID.
///</summary>
[TestMethod()]
public void GetDetails_CheckDetailsByAnyBondID_NoRecordFound()
{
//To Do.
}
② 说一下总的命名规范
a)如果返回值是“Bool”型的话,应该在后面加上“RetrunTrue”或“ReturnFalse”!
如:CheckRebateHasNewChange_ExistNewChanges_ReturnTrue
b)如果返回值是集合或者DataSet之类的类型话,应该在后面加上“RecordFound”或者“NoRecordFound”!
如:GetPurchaseOrder_ByPurchaseOrderId_RecordFound
c)如果是测试异常的话,应该在后面加上“ThrowException”!
如:CreateRebateApplication_ExistSameRebateID_ThrowException
d)如果是岁数据库进行删除或者更新,插入的操作时,应该在后面写上“DataUpdated”或“NoDataUpdated”!
如:UpdateClientIncome_UpdateIncome_DataUpdated
总结:基本的变动部分都是你中间的描述,中间的描述尽量做到简洁明了,应该以动词开头,如:Update,Input,等等!
总结:好的命名方式可以增强代码的可读性,尤其是类似于单元测试这样的可读性文档,应该更加注意这方面的考虑!
3、建立自己的公共调用库
一个好的单元测试应该都有自己的公共调用库,这样能减少很多的冗余代码,使的代码简洁易懂!
所以建立了公共库的单元测试符合了单元测试特点中的专业性 → 1.维护封装,解耦等等特点!
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11