如何在Visual Studio 2010中运行SpecFlow测试?

tes*_*boy 40 visual-studio-2010 specflow

尝试使用全新的VS2010 Professional安装运行SpecFlow.创建了一个新的控制台应用程序并添加了对NUnit和SpecFlow的引用.创建了SpecFlow功能.创建具有默认模板代码的.feature.

现在我尝试运行此测试,但我不明白如何.当我右键单击项目(在顶层)时,鼠标下拉菜单中没有"运行测试"选项.没有SpecFlow正确安装,我缺少一些参考或我需要安装的其他工具?

mfl*_*yan 81

如果您希望能够直接从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> 
Run Code Online (Sandbox Code Playgroud)

生成的代码隐藏文件将包含可由Visual Studio识别的MsTest测试,并且可以使用build-it测试运行器运行.

根本不需要使用NUnit.


jba*_*ndi 10

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任务来运行灯具......


Not*_*ple 6

只是为了更新这个问题,你应该使用最新版本的specflow,(使用MsTest.2010)

<configSections> 
    <section 
       name="specFlow" 
       type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/> 
  </configSections> 
  <specFlow> 
    <unitTestProvider name="MsTest.2010" /> 
  </specFlow> 
Run Code Online (Sandbox Code Playgroud)

使用NUnit错误地SpecFlow


tes*_*boy 3

Specflow 测试使用 NUnit (GUI) 运行,需要从外部调用,或者可以安装 TestDriven.net 或 Resharper 以支持从 Visual Studio 内部运行测试。