我正在尝试使用 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 执行单元测试,以确保返回正确的数据,但我不确定如何编写测试类。
到目前为止,我阅读的每个教程/文档都指向我使用 IProductsRepository 创建一个 Mock 对象,然后注入和测试控制器。
在我看来,这似乎绕过了具体的实现。
MyDbEntities 来自 ADO.Net 实体数据模型 .edmx