Ошибка спецификации при попытке создать отчет о выполнении теста

У меня есть проект, который использует SpecFlow, NUnit и Coypu для проведения приемочных тестов веб-приложения. У меня есть сборка проекта через Jenkins на сервере сборки. Дженкинс вызывает скрипт psake, который запускает msbuild в проекте спецификаций, затем скрипт вызывает консоль nunit -для запуска спецификаций/тестов, а затем я хочу создать отчет из 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 }
}

Однако этот последний вызов exec для specflow.exe завершается ошибкой с:

The element beneath element is unrecognized. C:\Program Files (x86)\Jenkins\jobs\TheWebApp\workspace\Web\Sites\TheWebApp.nuget\nuget.targets

Немного гугления намекает, что, возможно, это проблема с используемой версией msbuild (, например. здесь , здесь). Но у меня есть Framework "4.0"в моем скрипте psake, а проект Specs нацелен на.NET Framework 4.0, и он отлично строится на этапе сборки, поэтому я не уверен, почему specflow использует более раннюю версию msbuild. А может проблема где-то в другом?

8
задан Community 23 May 2017 в 11:45
поделиться