首页 > 解决方案 > 使用自定义输出路径时无法使用来自外部程序集的 StepDefinitions

问题描述

我在设置我的 specflow 项目时遇到问题。我想在共享程序集中有一些步骤定义,以便我可以重用它们。

我有两个程序集:A 和 B

程序集 A 包含步骤定义,应由位于程序集 B 中的特征文件使用。

程序集 B 引用程序集 A。程序集 A 包含以下 specflow.json 文件:

 {
  "language": {
    "feature": "de-CH"
  }
}

程序集 B 包含以下 specflow.json 文件:

{
  "language": {
    "feature": "de-CH"
  },
  "stepAssemblies": [
    { "assembly": "A" }
  ]
}

只要两个程序集的输出路径都设置为 bin\Debug\

但是,我们通常已经设置了我们的解决方案,以便将所有项目都构建到一个共享目录中。这大大加快了编译速度,我们需要它,因为我们的解决方案非常庞大。

因此,如果我转到项目 A 和 B 的项目属性页面并打开构建选项卡,并将输出路径更改为共享路径,例如..\DebugBuildSpecflow 将无法再找到步骤定义。装配 B 中的测试现在不确定,显示以下输出:

没有为一个或多个步骤找到匹配的步骤定义。

当我想使用共享输出目录时,如何使用外部步骤定义?

此致

马蒂亚斯

标签: specflow

解决方案


推荐阅读