问题:为什么Specflow使用Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()为功能文件而不是NUnit.Framework生成* .cs代码?从我所见,下面介绍的两种解决方案都使用相同的NuGet软件包。
详细信息:
我有一个项目在* .cs文件后面生成Specflow代码,并且仅使用NUnit。
还有另一个项目(在单独的解决方案中),该项目始终使用“ Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()”,而不是使用NUnit Fromework。
我在第二个解决方案中搜索了“ VisualStudio.TestTools”一词,它显示的唯一位置是在TechTalk.SpecFlow.Reporting.dll中。
问题:为什么Specflow使用Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()为功能文件而不是NUnit.Framework生成* .cs代码?从我所见,这两种解决方案都使用相同的NuGet软件包。
答案 0 :(得分:1)
在Specflow 2.3.2中,您需要在App.config中具有此“ unitTestProvider”。但是,是的,您可能应该升级到3.0
<specFlow>
<plugins>
<add name="SpecRun" />
<!--<add name="SpecFlow.Retry" path="..\packages\SpecFlow.Retry.2.4.0\lib\net45" type="Generator" />-->
</plugins>
<!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
<!-- use unit test provider SpecRun+NUnit or SpecRun+MsTest for being able to execute the tests with SpecRun and another provider -->
<unitTestProvider name="SpecRun+NUnit" />
</specFlow>