为什么在名称中使用1生成某些Specflow功能文件

时间:2018-04-09 05:19:22

标签: specflow

使用Visual Studio"重生特征文件"生成feature.cs文件时选项或"运行自定义工具"在文件本身上,一个文件带有" 1"已生成,但仅适用于某些文件

我想知道是什么让这些文件变得特别。

Generated with VS

然后,如果我使用Specflow generateall命令提示符生成文件,则使用" 1"生成相同的文件。在特征文件旁边生成,而不是"在"它。在测试资源管理器中找不到这些测试。正如您在下图中看到的,一些测试生成正常。

Generated with the command prompt

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

2 个答案:

答案 0 :(得分:1)

有时Visual Studio不会在预期文件中写入并在名称中添加1。大多数时候我们遇到问题,它是对现有文件的锁定。有时它在Visual Studio中是一个糟糕的状态,并通过简单的重新启动来修复它。

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

答案 1 :(得分:0)

我想我应该发布解决方案,说明如何从生成的文件名中删除“ 1”,以防有人过来找我(就像我所做的那样)。

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

这对我有用。