规范流特征文件生成创建具有绝对路径的 C# 命名空间

本文关键字:路径 命名空间 特征 范流 文件 创建 | 更新日期: 2023-09-27 18:31:11

我正在尝试生成一个使用SpecFlow功能文件的Visual Studio解决方案。我希望能够通过 specflow .exe/generateall 命令在外部生成功能.cs源文件。我的问题是,当我使用 specflow 命令行工具时,生成的文件中的命名空间很长,类似于功能文件的完整路径。

以下是运行 specflow 后的功能.cs文件的外观.exe/generateall :

// ------------------------------------------------------------------------------
//  <auto-generated>
//      This code was generated by SpecFlow (http://www.specflow.org/).
//      SpecFlow Version:1.7.1.0
//      SpecFlow Generator Version:1.7.0.0
//      Runtime Version:2.0.50727.5477
// 
//      Changes to this file may cause incorrect behavior and will be lost if
//      the code is regenerated.
//  </auto-generated>
// ------------------------------------------------------------------------------
#region Designer generated code
namespace mylib.D.projectName.branch.project.folder.Private.scripts.Dev.Source.mylib.Features
{
解决方案生成

过程使用源库目录(强制同步)中的源文件,并将解决方案和项目文件生成到单独的输出文件夹(生成目录)中。

此命名空间不可用,因为它包含特定于我的工作站的路径信息。我正在尝试设置一个自动测试工具,该工具将使用 nunit-console 来测试生成的 DLL。由于命名空间是特定的,因此我无法创建通用命令来运行测试。

我想运行什么:

nunit-console.exe /run:mylib.Features

此命名空间的结果:

nunit-console.exe /run:mylib.D.projectName.branch.prjoect.folder.Private.scripts.Dev.Source.mylib.Features

另一条信息是,如果我只是从 Visual Studio 中生成的解决方案编辑功能文件,则功能.cs文件是使用正确的命名空间创建的。只有当我从命令行工具生成 feature.cs 文件时,我才会得到这个长且不可用的命名空间值。我希望能够从文本编辑器编辑功能文件,并将功能.cs文件作为预构建步骤生成。 这个想法是让非Visual Studio用户能够编写specflow单元测试。

谢谢。

规范流特征文件生成创建具有绝对路径的 C# 命名空间

生成 VS 解决方案时,为定义功能文件的项组设置自定义工具命名空间属性。