首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修改SpecFlow代码生成行为

如何修改SpecFlow代码生成行为
EN

Stack Overflow用户
提问于 2022-04-27 09:56:11
回答 1查看 35关注 0票数 0

我们有一个15061行的特性文件(通过另一个系统自动生成).Specflow (3.9.7版本)设法通过MSbuild任务生成一个cs文件,包含39017行。但是,生成的功能文件生成失败,堆栈溢出错误如下:

代码语言:javascript
运行
复制
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : Stack overflow. [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : Repeat 24214 times: [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : -------------------------------- [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error :    at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack.CompleteRegion(Roslyn.Utilities.ConsList`1<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive>) [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : -------------------------------- [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]

在文件中生成的#line指令的数量似乎超出了编译器所能处理的数量,因为一旦删除所有的行指令,构建就成功了。

因此,我正在寻找一种方法来配置SpecFlow代码生成任务并跳过行指令生成。

EN

回答 1

Stack Overflow用户

发布于 2022-04-27 11:17:12

请将您的功能文件拆分为多个文件。任何有15k行的文件都是不可读和不可维护的。

Seb写了一篇关于如何在https://cucumber.io/blog/bdd/solving-how-to-organise-feature-files/上组织您的特性文件的好文章

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72026774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档