CURD的项目有必要做单元测试吗?

有必要,但不是要测试curd代码。当你感觉项目没有什么好测得,可能是代码的耦合度太高了。

 

//打个比方,你在修改订单数据前需要对总金额打8折,如果这样写那确实没法测:(直接上伪代码)
public void ModifyOrder()
{   Order _order
=new Order();   _order.Modify("update t_order set total=total*0.8 where id=1")
}
//但如果将打折和修改数据分开写,就能测试打折的方法了(伪代码)

//打折方法
public decimal Discount(this decimal total,decimal ratio)
{
   return total*ratio;        
}

public void ModifyOrder()
{   Order _order=new Order();
  decimal total=total.
Discount(0.8);
  _order.Modify("update t_order set total=total*0.8 where id=1")
}
 
//测试打折方法的伪代码

[Theory]
[InlineData(0.8,80)]
[InlineData(0.6,60)]
public void Discount_Ratio_NewTotal(decimal ratio,decimal total)
{
  //arrange
  dedimal oldTotal=100;
  //act
  decimal newTotal=100*ratio;
  //assert
  Assert.Same(newTotal,total) ;     
}

 

posted @ 2023-02-10 20:20  土豆365  阅读(83)  评论(0)    收藏  举报