13

I have installed Visual Studio 2012 Ultimate Edition and configured SpecFlow. I have used the following configuration to run the tests in config.xml file:

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

I was able to create the testes and compile properly. But when I tried to run the scenarios from the context menu with the option "Run SpecFlow Scenarios" or "Debug SpecFlow scenarios", I am not able to see any action. It just says "Build succeeded" and nothing else happens later.

Can someone kindly explain if there is any other way of executing the scenarios?

Thanks in advance.

4

3 回答 3

19

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

直到我查看了SpecFlow 选项(工具 > 选项 > SpecFlow)并将“ VisualStudio2012 ”设置为测试运行工具(在测试执行下)。

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

于 2013-07-12T09:57:03.287 回答
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的链接。

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

还要确保您有参考:Microsoft.VisualStudio.QualityTools.UnitTestFramework 来自您的测试项目。以下是步骤:

  1. 创建新项目:在我的例子中是 MVC 4
  2. 将“单元测试项目”添加到解决方案中
  3. 将 SpecFlow nuget 包添加到“单元测试项目”
  4. 添加一项随机 SpecFlow 功能/测试 5) 运行测试以确保其正常工作
于 2013-05-24T17:27:05.070 回答
0

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

  1. 将 ReSharper 版本从 10 更改为 8.2
  2. 工具 > 扩展和更新 > 在线搜索 > NUnit 测试适配器 > 安装
  3. 视觉工作室 2013
  4. Specflow 最新版本
  5. 使用 nuget 包管理器的命令窗口安装单元测试提供程序 NUnit。工具-> Nuget 包管理器-> 包管理器控制台。在窗口中运行它 - 安装包 specflow.Nunit
  6. 重新启动 Visual Studio。
  7. 转到 > something.Feature > 右键单击​​场景描述 >运行单元测试运行 specflow 场景。应该出现单元测试会话。

希望它能帮助其他有同样问题的人。

于 2015-12-01T10:56:54.497 回答