无法从Visual Studio 2012 Ultimate Edition运行SpecFlow方案

时间:2013-05-24 13:53:33

标签: visual-studio-2012 specflow

我安装了Visual Studio 2012 Ultimate Edition并配置了SpecFlow。我使用以下配置在config.xml文件中运行测试:

<specFlow>
<unitTestProvider name="MsTest" /> 
</specFlow>

我能够创建睾丸并正确编译。但是当我尝试使用选项“运行SpecFlow场景”或“调试SpecFlow场景”从上下文菜单运行场景时,我无法看到任何操作。它只是说“构建成功”,之后没有其他事情发生。

有人可以解释是否有其他方式执行方案?

提前致谢。

3 个答案:

答案 0 :(得分:19)

我已经拥有了所有这些配置集,但我仍然无法从上下文菜单中运行场景。

在我查看 SpecFlow选项(工具&gt;选项&gt; SpecFlow)并将“ VisualStudio2012 ”设置为测试运行工具之前测试执行)。

出于某种原因,它被设置在“VisualStudio2010MsTest”上,然后场景没有从上下文菜单中运行。

答案 1 :(得分:7)

您的app.config文件应为:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
  </configSections>
  <specFlow>
    <unitTestProvider name="MsTest" />
  </specFlow>
</configuration>

以下是SpecFlow wiki的link

然后重新构建您的解决方案,您应该能够查看并运行测试。您可以从Test / Windows / Test Explorer中查看并运行测试。

还要确保您的测试项目中包含:Microsoft.VisualStudio.QualityTools.UnitTestFramework。 以下是步骤:

  1. 创建新项目:在我的案例中MVC 4
  2. 添加&#34;单元测试项目&#34;解决方案
  3. 将SpecFlow nuget包添加到&#34;单元测试项目&#34;
  4. 添加一个随机SpecFlow功能/测试5)运行测试以确保 它的工作原理

答案 2 :(得分:0)

我知道这是一篇非常古老的帖子。我在过去的4天里遇到了同样的问题,最后我用随机的StackOverflow链接解决了这个问题。为了节省其他开发人员的时间,它可能有所帮助:

  1. 将ReSharper版本从10更改为8.2
  2. 工具&gt;扩展&amp;更新&gt;在线搜索&gt; NUnit测试适配器&gt;安装
  3. Visual Studio 2013
  4. Specflow最新版本
  5. 使用nuget包管理器的命令窗口安装单元测试提供程序NUnit。工具 - &GT; Nuget包管理器 - &gt;包管理器控制台。在窗口中运行它 - Install Package specflow.Nunit
  6. 重新启动Visual Studio。
  7. 转到&gt; something.Feature&gt;右键单击方案描述&gt; 运行单元测试运行specflow方案。 应该出现单元测试会话。
  8. 希望它能帮助其他人解决同样的问题。