尝试使用全新的 VS2010 Professional 安装运行 SpecFlow。创建了一个新的控制台应用程序并添加了对 NUnit 和 SpecFlow 的引用。创建了 SpecFlow 功能。创建了具有默认模板代码的 .feature。
现在我尝试运行这个测试,但我不明白如何。当我右键单击项目(在顶层)时,鼠标下拉菜单中没有“运行测试”选项。SpecFlow 没有正确安装,我是否缺少一些参考资料或我需要安装的其他工具?
尝试使用全新的 VS2010 Professional 安装运行 SpecFlow。创建了一个新的控制台应用程序并添加了对 NUnit 和 SpecFlow 的引用。创建了 SpecFlow 功能。创建了具有默认模板代码的 .feature。
现在我尝试运行这个测试,但我不明白如何。当我右键单击项目(在顶层)时,鼠标下拉菜单中没有“运行测试”选项。SpecFlow 没有正确安装,我是否缺少一些参考资料或我需要安装的其他工具?
如果您希望能够直接从 Visual Studio 2010 运行测试而无需任何其他工具或扩展,那么您应该将 SpecFlow 配置为使用 MsTest 作为其单元测试框架。
这可以在您的应用程序配置文件中使用以下内容完成:
<configSections>
<section
name="specFlow"
type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/>
</configSections>
<specFlow>
<unitTestProvider name="MsTest" />
<!--
Use this if you're running VS2010
<unitTestProvider name="MsTest.2010" />
-->
</specFlow>
然后,生成的代码隐藏文件将包含 Visual Studio 可识别的 MsTest 测试,并且可以使用 build-it 测试运行程序运行。
根本不需要使用 NUnit。
SpecFlow 本身不提供运行器。
SpecFlow 为常见的单元测试框架之一生成夹具。在 SpecFlow 1.3 NUnit(默认)中,支持 MSTest 和 xUnit.net(在 App.config 中配置)。
要运行灯具,您必须使用能够运行它们的跑步者。对于集成在 VisualStudio 中的测试运行器来说,ReSharper 是一个非常好的选择,但它不是免费的。ReSharper 在您所指的解决方案资源管理器中为您提供“运行单元测试”上下文菜单。
VisualStudio 集成的替代方法是 TestDriven.Net(也提供上下文菜单)。
对于 NUnit,您还可以使用 NUnit 本身附带的运行器(有一个 GUI-Runner 和一个命令行运行器)。
对于 MSTest,您可以使用本机 VisualStudio 集成来运行测试(但是我觉得这有点笨拙)。
xUnit.net 也带有它的运行器,但是我不熟悉它们。
此外,您可以使用 MSBuild 任务来运行固定装置...
只是为了更新这个问题,在你应该使用的最新版本的 specflow 中,(使用 MsTest.2010)
<configSections>
<section
name="specFlow"
type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/>
</configSections>
<specFlow>
<unitTestProvider name="MsTest.2010" />
</specFlow>
我写了一篇关于如何使用批处理文件作为外部工具在 NUnit 中自动运行 SpecFlow 功能并生成 html 报告的博客文章。见:http ://watirmelon.com/2011/02/18/c-sharp-atdd-on-a-shoestring/
有什么让我抓狂的。我必须确保项目类型是测试项目。我不得不卸载项目并将项目 GUID 更改为单元测试项目的 GUID。一旦我这样做了,项目中的 SpecFlow(和任何其他)测试就开始了
Specflow 测试使用 NUnit (GUI) 运行,它需要在外部调用,或者可以安装 TestDriven.net 或 Resharper 以支持从 Visual Studio 内部运行测试。
我创建了一个视频,演示如何在此处使用 Specflow 和 VS2010
您还可以尝试 Visual Nunit,它是 Visual Studio 2008 和 2010 的开源 NUnit 测试运行器插件。使用 NuGet 获取它,有关更多信息,请参阅http://www.bubblecloud.org/visualnunit