簡體   English   中英

單元測試連接字符串錯誤

[英]Unit tests connectionstring error

我正在MVC應用程序中工作。 我的上下文類中有這個:

    public ProductsContext()
        : base("ProductyDB")
    {
        Database.SetInitializer<ProductsContext>(null);
    }

我的web.config連接字符串如下所示:

<add 
      name="ProductyDB"
      providerName="System.Data.SqlClient"
      connectionString="Data Source=.\SQLSERVER2008R2;Initial Catalog=ProductyDB;Integrated Security=True"/>

它在MVC應用程序中可以正常工作,但是一旦我在從該MVC應用程序添加到此解決方案中的新單元測試項目中使用了實體和功能,就會收到諸如tblProduct之類的錯誤消息。

臨時解決方法:如果我在我的ProductsContext中注釋以下行:

public ProductsContext():base(“ ProductyDB”){Database.SetInitializer(null); }

並將我的web.config連接字符串名稱更改為ProductsContext,它可以工作。

我遇到了與此類似的問題,事實證明我在DbContext類聲明中設置了過時/錯誤的表名。 可能是一個獨特的錯誤,但是我的代碼對於除單元測試以外的所有代碼都正常工作。

public ProductsContext()
    : base("ProductyDB") //This pointed at the wrong database name
{
    Database.SetInitializer<ProductsContext>(null);
}

我以為是您應該輸入的ConnectionString名稱,但實際上是您要傳遞的Initial Catalog

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM