【问题标题】:Does Specflow 3 generates tests from linked feature files?Specflow 3 是否从链接的功能文件生成测试?
【发布时间】:2020-03-03 04:09:23
【问题描述】:

我在一个解决方案中有三个测试项目。在一个中,我使用场景创建了我的功能文件,并将它们作为链接添加到另外两个中(因此场景完全相同,但在三个项目中具有不同的步骤实现)。我使用 Visual Studio 2019 和 Specflow 3 以及 MsTest 作为测试运行器。我包含的软件包是:

  <package id="Gherkin" version="6.0.0" targetFramework="net472" />
  <package id="SpecFlow" version="3.0.225" targetFramework="net472" />
  <package id="SpecFlow.MsTest" version="3.0.225" targetFramework="net472" />
  <package id="SpecFlow.Tools.MsBuild.Generation" version="3.0.225" targetFramework="net472" />

当我构建解决方案时,我只能在测试资源管理器中看到来自第一个项目的测试。不会生成带有链接功能文件的项目测试。 Specflow 3 甚至可以做到这一点吗?

【问题讨论】:

  • “将它们添加为其他两个 [项目] 中的链接”是什么意思?我以前从来没有做过这样的事情。
  • 在 VS 中,您可以将现有项目添加到项目中,并且有一个选项“添加为链接”。
  • 这很有趣。我不知道那个功能。我必须牢记这一点,因为我们广泛使用 SpecFlow。我们还没有重叠的功能,但很高兴知道。

标签: c# specflow visual-studio-2019


【解决方案1】:

不,不支持将功能文件添加为链接。

我们 SpecFlow 团队得出的结论是,我们可能永远无法涵盖如何在项目中使用链接文件的所有案例。诸如将生成的代码隐藏文件放在哪里等问题总是特定于项目的。

作为链接文件的替代方案,我们的建议是将功能文件复制到构建前的目标中。我们在 SpecFlow 中自己执行此操作以从 Cucumber 获取特征文件。在这里:https://github.com/techtalk/SpecFlow/blob/master/Tests/TechTalk.SpecFlow.Specs/TechTalk.SpecFlow.Specs.csproj#L83


完全披露:我是 SpecFlow 的维护者之一

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 2016-06-25
    相关资源
    最近更新 更多