Вот мой IProductRepository:
public interface IProductsRepository
{
IQueryable<Product> Products { get; }
}
А вот где я использую Moq:
public static IProductsRepository MockProductsRepository(params Product[] prods)
{
var mockProductRepos = new Mock<IProductsRepository>();
mockProductRepos.Setup(x => x.Products).Returns(prods.AsQueryable());
return mockProductRepos.Object;
}
А вот как я использую этот метод MockProductsRepository:
[Test]
public void Product_Lists_Include_Correct_Page_Numbers()
{
//Arrange: If there are five products in the repository...
var mockRepository = UnitTestHelpers.MockProductsRepository(
new Product { Name = "P1" }, new Product { Name = "P2" },
new Product { Name = "P3" }, new Product { Name = "P4" },
new Product { Name = "P5" }
);
var controller = new ProductsController(mockRepository) { PageSize = 3 };
//yada yada yada...
}
Что именно делает Moq?Я слежу за книгой Pro ASP.Net MVC2, и она преподает мне все виды нового волшебства, и прежде чем я продолжу читать, я хотел бы понять, что происходит - и сейчас я просто знаю, что «это не работает» ничегоБольше.:)
Спасибо, что уделили время.