【问题标题】:Unable to run a SpecFlow scenario from Visual Studio 2012 Ultimate Edition无法从 Visual Studio 2012 Ultimate Edition 运行 SpecFlow 场景
【发布时间】:2016-04-13 13:38:56
【问题描述】:

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

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

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

有人可以解释一下是否还有其他方法可以执行这些场景吗?

提前致谢。

【问题讨论】:

    标签: visual-studio-2012 specflow


    【解决方案1】:

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

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

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

    【讨论】:

    • 对我来说,这解决了无法通过在 VS2012 的解决方案资源管理器中右键单击并“运行”来运行 SpecFlow 场景的问题。非常感谢!
    • 谢谢,在 VS2013 中,工具设置为自动。当我尝试运行测试时没有任何反应。设置为 ReSharper 解决了我的问题!
    • 我必须这样做才能获得上下文菜单选项来运行 Resharper 而不是内置的测试运行器。
    • 谢谢。这不是一个明显的错误。我有 VS 2013,我发现将测试运行器设置为 VS2012 修复它很奇怪。我很高兴它有效,我不必理解为什么。
    【解决方案2】:

    您的 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. 将“单元测试项目”添加到解决方案中
    3. 将 SpecFlow nuget 包添加到“单元测试项目”
    4. 添加一项随机 SpecFlow 功能/测试 5) 运行测试以确保 它有效

    【讨论】:

    • 我在配置文件中有相同的设置,但我仍然无法在 VS 2012 中运行至少一个测试用例。但是我能够在 VS 2010 中运行测试。请建议。
    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-16
      • 2018-10-08
      • 2015-05-04
      • 1970-01-01
      相关资源
      最近更新 更多