【问题标题】:Why are some Specflow feature files generated with a 1 in the name为什么生成的某些 Specflow 功能文件名称中带有 1
【发布时间】:2018-09-18 10:40:02
【问题描述】:

当使用 Visual Studio“重新生成功能文件”选项或文件本身的“运行自定义工具”生成 feature.cs 文件时,会生成一个带有“1”的文件,但仅适用于某些文件。

我想知道这些文件有什么特别之处。

然后,如果我使用 Specflow generateall 命令提示符生成文件,则会在功能文件旁边生成与“1”相同的文件,而不是在它的“下方”生成。在测试资源管理器中找不到这些测试。如下图所示,一些测试生成正常。

请注意,我在生成之间删除了所有 feature.cs 文件。它没有添加 1,因为 .feature.cs 文件已经存在。

【问题讨论】:

    标签: specflow


    【解决方案1】:

    我想我会发布我的解决方案,说明如何从生成的文件名中删除“1”,以防有人来这里查看(就像我一样)。

    • 删除 feature.cs 文件
    • 在编辑器中打开 SpecFlow 项目的 .csproj
    • 找到包含“1”的名称并删除“1”
    • 保存 .csproj 文件,在 VS 中重新加载项目并构建解决方案
    • 右键单击您的功能文件并运行自定义工具
    • 现在生成的 feature.cs 文件应该在名称中没有 1

    这对我有用。

    【讨论】:

      【解决方案2】:

      有时 Visual Studio 不会写入预期的文件并在名称中添加 1。大多数时候我们遇到问题,它是对现有文件的锁定。有时它是 Visual Studio 中的一个错误状态,只需简单的重启即可修复它。

      在自定义工具中,我们从不指定结果的文件名。我们只指定结尾。代码在这里:https://github.com/techtalk/SpecFlow.VisualStudio/tree/master/VsIntegration/SingleFileGenerator

      【讨论】:

      • 我真的需要使用命令提示符来生成,因为我们不使用 Nuget,所以 Visual Studio 生成将错误的版本放在 feature.cs 文件中。所以我的问题更多是关于为什么 VS 不接受我的命令提示符生成的测试以及为什么它们位于 VS 中的 .feature 文件“旁边”
      猜你喜欢
      • 2020-01-20
      • 2018-02-08
      • 1970-01-01
      • 2016-08-27
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      相关资源
      最近更新 更多