views:

222

answers:

0

We are migrating from mstest to NUnit. The first step was to migrate all our UnitTests projects which was accomplished using the following msbuild task:

<Target Name="RunTests">

 <!-- The location of the necessary tools to run nunit tests -->
 <PropertyGroup>
  <NUnitToolPath>C:\Program Files\NUnit 2.5.2\bin\net-2.0</NUnitToolPath>
  <NUnitResultTool>C:\Program Files\NUnit For Team Build Version 1.2</NUnitResultTool>
 </PropertyGroup>

 <!-- Create a build step representing running nunit tests -->
 <BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" Name="NUnitTestStep" Message="Running Nunit Tests">
  <Output TaskParameter="Id" PropertyName="NUnitStepId" />
 </BuildStep>

 <!-- Specify which dll's to include when running tests -->
 <CreateItem Include="$(OutDir)\Profdoc.UnitTests*.dll">
  <Output TaskParameter="Include" ItemName="TestAssembly" />
 </CreateItem>

 <NUnit
  Assemblies="@(TestAssembly)"
  ToolPath="$(NUnitToolPath)"
  OutputXmlFile="$(OutDir)\NUnit_TestResults.xml"
  ContinueOnError="true">
  <Output TaskParameter="ExitCode" PropertyName="NUnitResult" />
 </NUnit>

 <!-- Update the build step result based on the output from the NUnit task -->
 <BuildStep Condition="'$(NUnitResult)'=='0'" TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" Id="$(NUnitStepId)" Status="Succeeded" />
 <BuildStep Condition="'$(NUnitResult)'!='0'" TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" Id="$(NUnitStepId)" Status="Failed" />

 <!-- Upload the results to TFS. -->
 <Exec Command="&quot;$(NUnitResultTool)\NUnitTFS.exe&quot; -n &quot;$(OutDir)\NUnit_TestResults.xml&quot; -t &quot;$(TeamProject)&quot; -b &quot;$(BuildNumber)&quot; -f &quot;%(ConfigurationToBuild.FlavorToBuild)&quot; -p &quot;%(ConfigurationToBuild.PlatformToBuild)&quot; -x &quot;$(NUnitResultTool)\NUnitToMSTest.xslt&quot;" />

 <!-- Indicate build failure if any tests failed -->
 <Error Condition="'$(NUnitResult)'!='0'" Text="Unit Tests Failed" />
</Target>

But i'm at a loss as to how we are going to accomplish the same with out integration tests, because we need to deploy settings and licence files to the binary folder before running the tests. So, how can i deploy files to the binary folder, preferably as a part of the NUnit task (because i want to run the IntegrationTests against different configuration setups)?