SpecFlow、NUnit、Coypuを使用してWebアプリケーションの受け入れテストを行うプロジェクトがあります。ビルドサーバーでJenkinsを介してプロジェクトのビルドに問題はありません。Jenkinsはspecsプロジェクトでmsbuildを実行するpsakeスクリプトを呼び出し、次にスクリプトはnunit-consoleを呼び出してspecs / testsを実行し、SpecFlowからレポートを生成したいと思います。
Framework "4.0"
task Default -depends RunSpecs
task BuildSpecs {
$env:EnableNuGetPackageRestore = "true"
msbuild /t:Rebuild ReturnsPortal.Specs.csproj
}
task RunSpecs -depends BuildSpecs {
exec { & "C:\path\to\NUnit 2.5.9\bin\net-2.0\nunit-console-x86.exe" /labels /out=TestResult.txt /xml=TestResult.xml .\bin\Debug\TheWebApp.Specs.dll }
exec { & "C:\path\to\SpecFlow\1.8.1\specflow.exe" nunitexecutionreport TheWebApp.Specs.csproj /out:SpecResult.html }
}
ただし、specflow.exeへの最後のexec呼び出しは失敗し、次のようになります。
要素<UsingTask>の下の要素<ParameterGroup>は認識されません。C:\ Program Files(x86)\ Jenkins \ jobs \ TheWebApp \ worksheet \ Web \ Sites \ TheWebApp.nuget \ nuget.targets
少しグーグルすると、使用されているmsbuildバージョンに問題がある可能性があります(たとえば、ここ、ここ)。しかしFramework "4.0"
、私はpsakeスクリプトを使用しており、Specsプロジェクトは.NET Framework 4.0を対象としており、ビルドステップで正常にビルドされるため、specflowが以前のバージョンのmsbuildを使用しているように見える理由がわかりません。それともどこか別の問題ですか?