我在App_Data / ASPNETDB.MDF下有一个带有本地数据库的MVC3 Web应用程序。我还有一个集成测试项目,我用来运行NUnit。它有一些从数据库中读取的测试。我将连接字符串从MVC项目的web.config复制到测试项目的app.config。两个项目都使用Entity Framework Code First。
我的网站运行良好。我的测试很棒。但两个项目的数据不同。 Ergo ......他们正在使用不同的数据库,对吧?
<head scratch="true">
<puzzledLook />
</head>
我的问题
答案 0 :(得分:1)
测试运行会创建一个测试文件夹。您的数据库文件是否已标记为要复制到输出目录?在那种情况下你可以不添加
Assembly.GetExecutingAssembly().Location
进行任何单元测试?
答案 1 :(得分:0)
我认为上面的答案是正确的,尽管我会使用 Environment.GetCommandLineArgs()[0]
我的测试项目的一个例子是 c:\ program files \ microsoft visual studio 9.0 \ common7 \ ide \
我似乎记得AppData文件夹被复制到exe的位置,这样它就可以在运行时找到数据
问题是由于单元测试由名为VSTestHost.exe的单独可执行文件
运行引起的