2015-12-31 69 views
0

添加一個新的連接字符串其實,我在web.config中一個連接字符串,並連接我用我的當前項目。
更換或app.config中

我也有一個測試項目,所以我想指向另一個連接字符串在這一個。兩個數據庫具有相同的結構,不同之處在於我不想影響當前項目的數據庫。我可以指向我的測試項目的app.config中的另一個連接字符串嗎?

+0

是的,你可以創建一個連接字符串放在測試項目的app.config中,然後引用該字符串。 –

+0

我試圖在app.config中來點新的連接字符串,但不幸的是,當我跑我的測試項目,web.config中的連接字符串總是被採用,在連接字符串中唯一的區別是在不同的databases.I那點聽說過有關外部配置文件的內容,但結果相同。 –

+0

一種方法是使用[web.config中變換(https://msdn.microsoft.com/library/dd465318%28v=vs.100%29.aspx)。相當麻煩,第一次整理,但一個有用的方法,能夠根據構建改變各種配置值。 – HABO

回答

0

是絕對的,你可以在你的單元測試項目單獨app.configweb.config文件,並在那裏,你可以定義指向不同的服務器本地或遠程一起單獨的連接字符串。

0

是的,你可以指出在app.config另一個數據庫。當你將連接字符串添加到app.config時,你可以命名它們,以便你可以在代碼中引用它們。只需將一個新連接添加到<connectionStrings>部分,並將其命名爲有意義的內容,並在需要時進行參考。

此MSDN頁說明如何使用的app.config數據源創建單元測試: https://msdn.microsoft.com/en-us/library/ms243192.aspx

他們的榜樣執行以下操作來實現這一點:

[TestMethod()] 
    [DeploymentItem("MyTestProject\\testdatasource.accdb")] 
    [DataSource("MyJetDataSource")] 
    public void MyTestMethod() 
    { 
     int a = Int32.Parse(context.DataRow["Arg1"].ToString()); 
     int b = Int32.Parse(context.DataRow["Arg2"].ToString()); 
     Assert.AreNotEqual(a, b, "A value was equal."); 
    } 
+0

我明白你的想法,但我忘了提及你,我有我的測試項目的服務引用,如果這是一個原因通過這個一向以開發連接字符串我不知道。 –