当 nuget 未创建 .srprofile 文件时,如何获取或创建它?

how do I obtain or create a .srprofile file when nuget doesn't create it?

要配置和使用 SpecRun 的许多功能(增强版的 Specflow,.NET 的黄瓜),您需要某种 .sfprofile 文件。文件“default.sfprofile”应该是(我假设)通常在安装 Nuget 包时为您创建。但它并没有为我这样做。

还有其他方法可以触发创建“default.sfprofile”吗?如果没有,我自己创造就万事大吉了吗?如果可行,有人可以 post 这个文件的初始内容应该是什么?谢谢!

如果您安装了 SpecFlow for Visual Studio 扩展,则 SpecFlow+ Runner 配置文件模板可用作项目模板:

这是列表中的最后一个。

请注意,默认情况下 VS 会尝试将其创建为 Default1.srProfile。您需要手动调整文件名。

旧的和过时的答案:

文件模板位于 packages\SpecRun.SpecFlow.1.2.0\content\Default.srprofile.pp

复制并用您的值替换 {...} 占位符。 projectId 是一个 Guid。

是正确的。但我后来发现 为什么 nuget 无法正确安装 SpecRun.SpecFlow。我相信它与以前安装遗留下来的工件有关,后来被删除了。它在我之后正确安装:

  1. 从我的解决方案的 \packages\ 目录中删除了 "SpecRun.Runner.1.2.0" 和 "SpecRun.SpecFlow.1.2.0" 目录
  2. 从 C:\Users\[me]\AppData\Local\Temp\VisualStudioTestExplorerExtensions\
  3. 中删除了 "SpecRun.Runner.1.2.0" 目录
  4. 已从相关项目中删除 "obj\debug" 和 "bin\debug" 目录。
  5. (这绝对是问题的一部分:)从我的项目中删除了这些文件:"Default.srprofile"、"runtests.cmd"、"SpecRunTestProfile.xsd"。这些已通过之前的卸载从我的解决方案中删除,但仍存在于文件系统中。
  6. 为了更好地衡量,从源代码管理检查了整个项目并通过 Nuget 命令行 (Install-Package SpecRun.SpecFlow) 运行,因为此时我已经绝望并尝试了一切。

完成所有这些后,SpecRun.Runner 安装正确。不确定 所有 是否需要,但至少其中有几个需要,每个单独的都没有达到目的。哦,还有一个问题:

  1. 即使大部分成功(得到我闪亮的新 "Default.srprofile"!),我仍然必须在 app.config 中修复一些东西:安装正确地添加了 <unitTestProvider name="SpecRun" /> 元素,但错误地离开了在旧的 <unitTestProvider name="MsTest" /> 元素中。必须把它拿出来让所有人都快乐。

当然,现在我有 this issue,但这无关紧要。