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

时间:2018-07-09 05:35:11

标签: c# bdd specflow

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

    app.config中的部分                                                 

复制项目

我有一个在下面的多个测试项目的解决方案

  • InfoModelApiTests
  • WarmDataTests

问题说明

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

步骤定义类如下所示 公共密封类InfoModelApiTestsSteps

复制步骤

  • 将“ InfoModelApiTests”的项目引用添加到 “ WarmDataTests”项目
  • 然后在“ WarmDataTests”项目的app.config中添加 如上所述的步骤装配
  • 将同一步骤从“ InfoModelApiTests”功能文件复制到 “ WarmDataTests”功能文件。它应该绑定到现有的 步骤定义。

1 个答案:

答案 0 :(得分:0)

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


您做对了。
VS扩展程序的其他步骤装配存在一些问题,因此突出显示无法正常工作。
但是当您执行测试时,它就可以了。