2017-07-18 114 views
1

我正在設置TeamCity構建以運行一些與數據庫相關的Nunit測試。這些測試需要運行一個Sql服務器連接。 我想通過這樣一個連接字符串作爲測試參數。TeamCity數據庫集成測試

我已經創建稱爲

Database_Connection_String 構建可變我已經將其設置爲

Data Source=ANDROID-PC\SQLEXPRESS;Initial Catalog=TestDb;;User ID=TestDbAdmin;Password=*********** 

另外我還以下面的方式通過了測試參數到Nunit3-console.exe:

--params=TestDatabaseConnectionString=%Database_Connection_String% 

運行構建後,我顯示以下錯誤:

[My_TEST_NAME] OneTimeSetUp: System.Data.SqlClient.SqlException : A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Sql服務器正在運行,我可以在同一臺機器上使用與我的應用程序相同的連接字符串連接到它。只是Nunit測試沒有拿起連接字符串。

我已經嘗試使用Double和Single引號封裝連接字符串,但那也不起作用。

有沒有辦法將連接字符串作爲測試參數傳遞給Nunit測試?

回答

0

當前,無法通過--params選項傳遞包含分號的參數。這是希望能夠及時修復的。

見GitHub的問題:https://github.com/nunit/nunit-console/issues/23

+0

感謝您的迴應,克里斯。我們更改了配置參數,並將數據庫連接字符串分爲單獨的參數,如DataSource,InitialCatalog,Password和UserID。然後通過所有這4個參數。還對數據庫集成測試進行了必要的更改,但仍收到相同的錯誤消息。 –

+0

@pratiksurana - 聽起來很不錯! – Chris

+0

但它仍然給出相同的錯誤信息。我們在另一個TeamCity服務器上嘗試瞭解決方案,並且似乎工作正常。我的意思是,它至少可以連接數據庫。但是,由於權限問題,無法創建數據庫。我們提供了所有必需的權限,並嘗試使用系統管理員標識和密碼,但仍然存在權限問題。 –