使用实体框架时的单元测试

时间:2012-05-30 08:24:39

标签: asp.net-mvc-3 unit-testing entity-framework-4 nunit mstest

我有一个使用MVC 3和Entity Framework创建的Web应用程序。我想开始使用单元测试,但到目前为止,由于系统与数据库的对话方式,我无法运行任何单元测试。

我有一个BaseController,它将DataContext定义为变量:

public class BaseController : Controller
{

    public Models.MyEntities DataContext = new Models.MyEntities();

然后每个控制器继承BaseController,从而使DataContext变量可供所有控制器使用,而无需重新定义它:

public class ErrorController : BaseController
{

当我运行单元测试时,我收到一个关于对象引用未设置为对象实例的错误,每次都引用我访问DataContext的行。

大多数对单元测试的引用都说你应该抽象你的数据库层,并使用假数据进行测试。这对我来说似乎是违反直觉的,但这是一个不同的讨论。

我的问题是 - 是否可以在系统配置的情况下使用单元测试?我愿意使用任何可用的测试框架,MSTest,NUnit / XUnit等。

0 个答案:

没有答案