我有一个 4 层应用程序
1) 演示 (MVC)
2) 服务 (WCF)
3) 业务
4) 数据
我的服务层中的某些方法执行许多其他子流程,例如,
public OrderResponse PlaceOrder(OrderRequest request)
{
if (CheckForSufficientStock(request.ItemId)) {
ReserveStock(request.ItemId);
ProcessPayment(request.CustomerPaymentDetails);
RemoveStockFromInventory(request.ItemId);
ArrangeForShipping(request.CustomerDetails);
AddToOrderHistory(request);
}
}
我开始学习如何编写单元测试,我有几个问题
1)我应该为哪一层编写单元测试?我是否为 MVC 项目中的控制器编写单元测试?还是我必须为我的服务层中的每个方法编写单元测试?或两者?
2)如果我必须为 MVC 和服务层编写单元测试,我说得对吗,我的 MVC 项目中的单元测试将测试 PlaceOrder,而测试我的服务层的单元测试将测试所有子功能,例如, ReserveStock、ProcessPayment 等?