उत्पन्न करने का प्रयास करते समय specflow विफल रहता है मेरे पास एक प्रोजेक्ट है जो वेब अनुप्रयोग पर स्वीकृति परीक्षण करने के लिए SpecFlow, NUnit और Coypu का उपयोग कर रहा है। मुझे बिल्ड बिल्डिंग पर जेनकींस के माध्यम से प्रोजेक्ट बिल्डिंग ठीक है। जेनकिंस एक पीएससी स्क्रिप्ट को कॉल करता है जो चश्मा प्रोजेक्ट पर एमएसबिल्ड चलाता है, फिर स्क्रिप्ट चश्मे/परीक्षण चलाने के लिए नूनिट-कंसोल को कॉल करती है, और फिर मैं स्पीकफ्लो से एक रिपोर्ट जेनरेट करना चाहता हूं।परीक्षण निष्पादन रिपोर्ट
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 करने के लिए पिछले कार्यकारी कॉल हालांकि विफल रहता है यही कारण है, के साथ:
तत्व < ParameterGroup> नीचे तत्व < UsingTask> गैर मान्यता प्राप्त है। C: \ Program Files (x86) \ जेनकींस \ नौकरियों \ TheWebApp \ कार्यक्षेत्र \ वेब \ साइटें \ TheWebApp.nuget \ nuget.targets
संकेत है कि शायद यह MSBuild संस्करण के साथ एक समस्या है googling के बारे में थोड़ी इस्तेमाल किया जा रहा (उदाहरण के लिए here, here)। लेकिन मेरे पास मेरी psake स्क्रिप्ट में Framework "4.0"
है, और चश्मा प्रोजेक्ट .NET Framework 4.0 को लक्षित कर रहा है, और यह बिल्ड चरण में ठीक बनाता है, इसलिए मुझे यकीन नहीं है कि specflow msbuild के पुराने संस्करण का उपयोग क्यों कर रहा है। या शायद कहीं और समस्या है?
क्या आपने msbuild के लिए पूरा रास्ता पारित करने का प्रयास किया था? ('C: \ Windows \ Microsoft।नेट \ Framework64 \ v4.0.30319 \ MSBuild.exe') – KMoraz
धन्यवाद, यह मुद्दा होगा, हालांकि मुझे नहीं पता कि SpecFlow को msbuild के एक निश्चित संस्करण का उपयोग करने के लिए कैसे मजबूर करना है। – ngm