使用NUnit测试ASP.NET MVC应用程序时对DataContext的空引用

时间:2010-03-20 16:43:33

标签: asp.net asp.net-mvc unit-testing nunit

我有一个ASP.NET MVC应用程序,其中添加了一个单独的项目用于测试。我知道在运行单元测试时使用连接到数据库的优点和缺点,我仍然想要使用它。然而,每当我使用NUnit工具运行测试时,由于我的数据上下文为空,它们都会失败。我听说有一些关于测试程序集的单独配置文件,但我不确定我是否正确完成,或者是否可以正常工作。

2 个答案:

答案 0 :(得分:1)

我认为你应该检查这个discussion here,它应该是相关的,因为我遇到了同样的问题。

我如何解决我的问题只是将我的网络配置内容复制到测试项目中的应用程序配置中,然后再恢复数据库连接恢复,并且在mvc的土地上一切都很好。

答案 1 :(得分:0)

您是如何创建数据上下文的?它是如何用于你的行动的?通常情况下,它会使用在设计器中设置类时引用的数据库,这样您就可以得到与您用于设计器的内容相关的上下文,可以说,您想要的内容单元测试,因此您将app.config文件添加到单元测试项目并将连接字符串更改为您的测试数据库。它通常不会产生空数据上下文。

我怀疑你的单元测试在调用action方法之前根本没有触及创建数据上下文的代码。但是,如果没有代码,则无法分辨。