首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不同的解决方案中重用SpecFlow测试脚本

在不同的解决方案中重用SpecFlow测试脚本
EN

Stack Overflow用户
提问于 2021-03-10 00:27:57
回答 1查看 163关注 0票数 0

我们在不同的C#存储库中有不同的Git Visual解决方案。每个存储库都包含需要功能测试的源代码,这些测试将与Azure DevOps集成。其思想是有一个单一的C#测试自动化框架,具有通用的步骤、钩子和逻辑,可以在所有解决方案中使用。

我想出了一些想法:

  • 拥有一个包含自动化框架文件的单独存储库,只需为每个解决方案/存储库复制和粘贴钩子、步骤、配置文件等。
  • 在每个解决方案/存储库中创建一个SpecFlow项目,并为每个解决方案维护一个自动化框架。
  • 使用NuGet打包测试框架并将其安装到每个解决方案中。我个人喜欢最后一种办法,但我不知道如何才能实现。

对于如何解决这一问题,有什么建议或想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-10 19:50:04

您可以使用来自外部程序集的绑定,它允许您创建包含步骤定义和挂钩的通用类库,然后在多个测试项目中重用它们。

如果在测试项目中使用SpecFlow.json,请添加以下内容:

代码语言:javascript
复制
{
  ... other JSON settings for SpecFlow ...

  "stepAssemblies": [
    {
      "assembly": "NameOfYourSharedBindings"
    }
  ]
}

如果使用App.config:

代码语言:javascript
复制
<specFlow>
  <!-- other SpecFlow settings -->

  <stepAssemblies>
    <stepAssembly assembly="NameOfYourSharedBindings" />
  </stepAssemblies>
</specFlow>

只需将NameOfYourSharedBindings替换为包含共享步骤和钩子的DLL文件的文件名。确保将项目引用添加到测试项目中,以便它引用包含共享步骤的类库项目。

您不限于同一Visual解决方案中的另一个项目中的步骤定义。您可以引用预编译的DLL文件以及NuGet包.所以,真的,选择2或3对你来说是可行的。只需选择哪一个最适合您的用例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66556674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档