我正在對我的Service layer class(ProductService)
之一進行單元測試。該層將DI工具用於controller class(ProductController)
之一。對於ProductController單元測試,已經有一個單元測試類ProductControllerTest。如何在單元測試中使用moq對象?
但對於單元測試ProductController的的服務層(ProductService),我已創建了一個新的單元測試類(ProductServiceTest)。
但我不知道我是否應該創建一個新的單元測試類來做服務層單元測試與否。
此外,我想知道單元測試中的DI(Dependency Injection) and Mocking(MOQ object)
的概念。指在何處使用MOQ進行單元測試以及何時需要使用?
我已經寫了ProductService的一個action方法的單元測試代碼,並且我想知道它是否正確?
下面是一塊的操作方法代碼: -
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](http://msdn.microsoft.com/zh-cn/library/ff650441.aspx)我希望它能幫助你 – 2014-03-25 07:50:04