【发布时间】:2014-05-02 22:05:50
【问题描述】:
我正在对我的Service layer class(ProductService) 之一进行单元测试。该层为controller class(ProductController) 之一提供DI 工具。对于ProductController 单元测试,已经有一个单元测试类ProductControllerTest。
但是对于单元测试ProductController的服务层(ProductService),我创建了一个新的单元测试类(ProductServiceTest)。
但我不知道是否应该创建一个新的单元测试类来进行服务层单元测试。
我也想知道DI(Dependency Injection) and Mocking(MOQ object)在单元测试中的概念。意思是在单元测试中在哪里使用起订量以及何时需要使用?
我已经为 ProductService 的一种操作方法编写了单元测试代码。我想知道它是否正确?
下面是Action Method的代码:-
public class ProductService : IProductService
{
private readonly IProductDal<Product> _productDal;
private readonly IUserDal<Users> _userDal;
public ProductService(IProductDal<Product> ProductDAL)
{
_productDal = ProductDAL;
}
public List<ProductDto> GetProducts(string SearchInName, string SearchInDescription)
{
List<ProductDto> productList = new List<ProductDto>();
foreach (Product product in _productDal.GetProducts(SearchInName, SearchInDescription))
{
productList.Add(Adapter.AdaptOmToDto(product));
}
return productList;
}
}
下面是单元测试(ProductServiceTest)类的一段代码:-
[TestMethod]
public void GetProductsTest()
{
var productList = new List<ProductDto>();
// Arrrange
var Name = "CreateSave";
var Description = "CreateSave";
// Act
List<ProductDto> output = _productService.GetProducts(Name, Description);
// Assert
Assert.IsNotNull(output);
Assert.IsInstanceOfType(output, typeof(List<ProductDto>));
}
有人可以建议我对此类方法进行单元测试的最佳方法吗?
【问题讨论】:
-
你好去这个链接MSDN我希望它会帮助你
标签: unit-testing asp.net-mvc-4 dependency-injection moq