2015-10-06 34 views
2

我的項目是C#MVC5與實體Freamework 6加入測試項目,MVC實體框架

我添加了一個測試項目到解決方案。

第一個測試只是一個簡單的完整性檢查,以確保所有連接等,所以它只是實例化一個類,在構造函數中調用存儲過程。

但是我有問題,因爲該試驗項目沒有一個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:沒有名爲 '實體' 可能會在應用程序配置文件中找到連接字符串。

+0

添加一個並在其中包含連接字符串。 – Oluwafemi

+0

還有其他問題,例如EF在app.config中的提供者詳細信息。 – CompanyDroneFromSector7G

回答

0

如果你的測試項目是分開的,你必須有app.config並在那裏添加你的連接字符串。

有兩種可能的方式來解決這個問題:

  • 主要項目中寫測試代碼,以便它可以重複使用的主要 項目web.config文件
  • 不要使用連接字符串中web.config, 店呢外

希望它有幫助。

+0

(評論不再相關) – CompanyDroneFromSector7G

+0

@bukko:對不起,我編輯了我的答案 –

+0

我認爲你是對的。謝謝。 – CompanyDroneFromSector7G