如何在 SpecFlow 中同一解决方案中的项目之间共享相同的步骤定义


  • SpecFlow 版本:[ x ] 2.2.1
  • 使用的测试运行程序[ x ]MSTest
  • Visual Studio Version[ x ]VS 2017
  • 是否安装了最新的 Visual Studio 更新?[ x ]是
  • .NET Framework:[ x ] .网芯 2.0
  • 测试执行方法:[ x ]Visual Studio Test Explorer

    应用配置中的部分

重现项目

我有一个包含多个测试项目的解决方案,如下所示

  • 信息模型ApiTests
  • 暖数据测试

问题描述

我想使用与"WarmDataTests"项目功能文件中的"InfoModelApiTests">项目功能文件中使用的相同步骤。我不想重复步骤定义代码。我已经在"WarmDataTests"项目中包含了"InfoModelApiTests">的项目参考。并在 app.config 中添加了 stepAssemblies 引用。但是我无法将步骤定义变成黑色,暗示它已被绑定。

步骤定义类将如下所示 公共密封类 信息模型Api测试步骤

重现步骤

  • 在 "WarmDataTests"项目
  • 然后在"WarmDataTests"项目的 app.config 中添加 如上所述的StepAssemblies
  • 将"InfoModelApiTests"功能文件中的相同步骤复制到 "WarmDataTests"功能文件。它应该绑定到现有的 步骤定义。

来自 https://github.com/techtalk/SpecFlow/issues/1194#issuecomment-402934038 的答案


你做对了。
VS 扩展在其他步骤程序集方面存在一些问题,因此突出显示无法正常工作。
但是当你执行测试时,它正在工作。

最新更新