2014-05-12 43 views
9

我目前在TFS 2013中使用默認構建過程模板來進行自動構建。TFS 2013自動構建:是否有方法從src文件夾運行測試

我已將OutputLocation參數配置爲AsConfigured,以獲得與我的Visual Studio解決方案相同的文件夾結構(解決方案中有多個項目,並且我不希望它們都放在同一文件夾中)。

問題是,當構建過程試圖運行測試時,它會在bin文件夾下查找任何程序集,而我的構建配置使得它只有一個src文件夾。

有沒有辦法指定查看src文件夾?無論如何,當使用AsConfigured設置時,它不應該是默認設置嗎?

編輯:爲了說清楚,運行TFS自動構建(src,bin,tst)時通常會生成3個文件夾。將AsConfigured用於輸出位置時,不存在bin文件夾。我想這需要改變Test sources spec設定構建過程的建議,我也得到了同樣的問題,因爲之前:

There were no matches for the search pattern C:\Builds\8\MyProject\MyBuildDefinition\bin\***test*.dll 
+0

我一直有這個確切的問題,花了我幾個小時才發現它切換到'AsConfigured',停止運行測試,你是否得到它的工作? – John

+0

很遺憾,官方的MS響應是在路徑中硬編碼的。請參閱http://social.msdn.microsoft.com/Forums/sqlserver/en-US/be5be6f0-2092-4786-be1b-7b86b22dbcae/tfs-2013-automated-build-is-there-a-way-to-run -the-tests-from-the-src-folder?forum = tfsbuild – Jedidja

+0

參見http://social.msdn.microsoft.com/Forums/vstudio/en-US/30c8b8e8-01d9-47fb-a370-57b5d190006c/using -asconfigured-and-still-be-able-to-get-unittest-results?forum = tfsprocess – Jedidja

回答

2

什麼我最終做的是使用PowerShell腳本作爲構建後事件將我的測試程序集複製到構建的bin文件夾。

在CodePlex上有適用於TFS 2013的PowerShell腳本,爲了適應我的需要,我稍微修改了this one

通過這樣做,我可以使用默認設置來運行測試,並且它像一個魅力一樣工作。

+0

我已經在使用PowerShell腳本的修改版本,所以只需簡單地添加我的測試程序就可以了。謝謝! –

1

在您的構建定義,更改「測試源規範」設置的值***測試的* .dll(假設你的單元測試組件與.test.dll後綴)

編輯:請使用** \ *測試* .dll文件; ** \ *。*測試.appx

+0

它似乎沒有改變任何東西。看我的編輯。 –

+0

然後嘗試.. \ **測試*。dll –

+0

我編輯了答案。沒有意識到,因此省略了我的黑色陰影。希望這有助於 –

1

嘗試使用這個文件掩碼:..\**\*test*.dll

這對我的作品。

0

我爲X64平臺設置了「AsConfigured」設置,該設置將二進制文件放置到src\x64\Release\(並且用於在沒有該開關的情況下將它們放置到bin\x64\Release\中)。所以,我最終使用了..\..\..\src\**\*test*.dll作爲我的「測試源規範」。

相關問題