2013-05-07 91 views
4

我想使用MSBuild運行單元測試。這是今天我怎麼調用的MSBuild:使用MSBuild從.proj文件運行單元測試

msbuild MySolution.sln

相反,我想用所謂的 「MyBuild.proj」 像這樣的MSBuild項目文件:

<?xml version="1.0" encoding="utf-8"?> 
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5" DefaultTargets="Build"> 
    <Target Name="Build"> 
    <ItemGroup> 
     <SolutionToBuild Include="MySolution.sln" /> 
     <TestContainer Include="..\Output\bin\Debug\*unittests.dll"/> 
    </ItemGroup> 
    </Target> 
</Project> 

然後調用這個命令行:

msbuild MyBuild.proj

出於某種原因,當我這樣做日e命令立即成功並且構建甚至不會發生。我擔心我一定會錯過一些非常明顯的東西,因爲我是MSBuild的新手。

我想我真的有2個問題:

  1. 爲什麼沒有這甚至建立自己的解決方案
  2. 就是「TestContainer」元素正確執行我的測試

謝謝!

回答

4

您還沒有提供任何任務實際做任何事情, 您的構建目標裏面,你需要調用的MSBuild任務,你的例子就變成:

<Target Name="Build"> 
    <ItemGroup> 
     <SolutionToBuild Include="MySolution.sln" /> 
     <TestContainer Include="..\Output\bin\Debug\*unittests.dll"/> 
    </ItemGroup> 
    <MSBuild Projects="@(SolutionToBuild)"/> 
</Target> 

此規定了什麼項目,你真正想要的MSBuild建設。 參見:http://msdn.microsoft.com/en-us/library/vstudio/z7f65y0d.aspx瞭解更多細節和參數。

那就是第一部分。

至於第2部分?你在使用什麼測試框架?如果使用mstest id,請嘗試將命令行mstest.exe包裝在msbuild exec語句中以使其運行並執行測試。在這裏看到一個例子:http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/cb87a184-6589-454b-bf1c-2e82771f c3aa

相關問題