Я пытаюсь разобраться, используя Nunit, Ninject, MVC2 и модель данных сущности ADO.Net.
Допустим, у меня есть ProductsController, создающий экземпляр класса SqlProductsRepository.
public class ProductsRepository : IProductsRepository
{
public MyDbEntities _context;
public ProductsRepository()
{
_context = new MyDbEntities();
}
public IList<Product> GetAllProducts()
{
return (from p in _context.Products select p).ToList();
}
}
public class ProductsController : Controller
{
public ActionResult ProductsList()
{
ProductsRepository r = new ProductsRepository();
var products = r.GetAllProducts();
return View(products);
}
}
Я хотел бы иметь возможность выполнить модульное тестирование в ProductsRepository, чтобы убедиться, что оно возвращает правильные данные, но я не уверен, как написать тестовый класс.
Каждый учебник / документ, который я до сих пор читал, указывает мне на создание объекта Mock с использованием IProductsRepository, а затем на внедрение и тестирование контроллера.
Мне кажется, это обходит конкретную реализацию.
MyDbEntities происходит от модели данных сущностей ADO.Net .edmx