2016-05-31 28 views
2

我們正在使用實體框架6 MS SQL服務器爲我們的數據庫集成測試(MSTests)。Visual Studio團隊服務構建定義:設置數據庫連接字符串

我要找設置數據庫連接字符串在我的測試程序集在Visual Studio團隊服務(VSTS)構建定義app.confing內置方式。

難道這使用生成變量或其他一些整齊內置的方式進行?使用* .runsettings獲取連接細節創造新的Build

  • 配置與在app.config改造(SlowCheetah)
    1. 考慮其他的選擇(在沒有找到更好的辦法)

    +0

    關於選項2.我相信SlowCheetah不需要運行轉換。您可以手動編輯csproj並使用TransformXml任務使其工作。這裏我找到了簡單的代碼示例[TransformXml Web.config,同時發佈](http:// stackoverflow。COM /問題/ 10316108 /的TransformXML-Web的配置,同時出版) – AndrewSilver

    回答

    2

    您可以使用Replace Tokens任務。這將允許您將配置文件中的字符串替換爲構建定義中的變量。

    1

    一種方法是使用tokenization

    爲了實現分詞,你可以使用這兩種實現

    1. https://github.com/qetza/vsts-replacetokens-task#readme
    2. https://marketplace.visualstudio.com/items?itemName=ms-devlabs.utilitytasks

    如果你決定去的在第一次執行時,這裏是步驟

    1. 導航到https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens並安裝 「替換令牌」 爲你必須在生成DEF的帳戶。

    2. 更新應用程序的web.config讓

      的connectionString =「#{即爲MyToken}# 「

    3. 添加一個新的變量來構建定義與令牌的名稱。確保值被保護

    會發生什麼是構建步驟將用爲構建定義指定的變量值替換所有.config文件標記。很簡約。

    請記住,集成測試將隨後可能失敗在此任務不存在的狀態的源代碼庫。這可能會讓某些人煩惱,但如果使用GIT並使用存儲在本地覆蓋集成測試的令牌,則很容易解決。

    另外,請記住,如果您的防火牆設置爲SQL數據庫(天藍色),則集成測試可能會因構建代理虛擬機未經授權而失敗,您可能需要添加新規則以便你生成代理授權

    相關問題