使用实体框架

时间:2015-10-06 09:37:47

标签: c# entity-framework unit-testing

我的项目是带有实体Freamework 6的C#MVC5。

我在解决方案中添加了一个测试项目。

第一个测试只是一个简单的健全性检查,以确保所有连接等,所以它只是实例化一个在构造函数中调用存储过程的类。

但是我遇到了问题,因为测试项目没有app.config文件,EF想要这个用于连接细节等。

我很欣赏客户端项目是使用其配置的项目,但这种方式会破坏部分测试原因,因为我也希望确保配置正确。

当然有一种方法可以告诉主题项目使用自己的配置吗?

单元测试代码:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MyNamespace.Classes;

namespace MyNamespace_Tests
{
    [TestClass]
    public class MyTests
    {
        [TestMethod]
        public void Test1()
        {
            var test = new MyClass(1, 2010, 2, 80000, 25000, 48);
            var a = test.Text1;
            var b = test.Text2;
            Assert.IsTrue(true); // not actually doing a useful test yet               
        }
    }
}

错误是:

  

System.InvalidOperationException:没有名为的连接字符串   可以在应用程序配置文件中找到“实体”。

1 个答案:

答案 0 :(得分:0)

如果您的测试项目是分开的,则必须有app.config并在那里添加连接字符串。

有两种方法可以解决它:

  • 在主项目中编写测试代码,以便它可以重用main 项目web.config文件
  • 请勿在{{1​​}}内使用连接字符串, 把它存放在外面

希望它有所帮助。