代码后面的specflow有语法错误或重复代码

问题描述 投票:0回答:1

我有一个由几个项目组成的解决方案。我的解决方案中有3类项目。第一类仅包括.feature文件。第二类仅包括绑定。第三个包括驱动程序,其中包括绑定中使用的一组函数,用于与我正在测试的软件接口进行通信。

当我构建我的解决方案时,文件后面的一些代码(.feature.cs)会被破坏。以下是我构建解决方案后所获得的屏幕截图:

在Visual Studio中构建错误

Build errors in Visual Studio

下面是一个损坏的.feature.cs文件的示例:

    // ------------------------------------------------------------------------------
//  <auto-generated>
//      This code was generated by SpecFlow (http://www.specflow.org/).
//      SpecFlow Version:2.3.0.0
//      SpecFlow Generator Version:2.3.0.0
// 
//      Changes to this file may cause incorrect behavior and will be lost if
//      the code is regenerated.
//  </auto-generated>
// ------------------------------------------------------------------------------
#region Designer generated code
#pragma warning disable
namespace AcceptanceTests.Controllers.Images
{
    using TechTalk.SpecFlow;


    [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "2.3.0.0")]
    [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()]
    public partial class GetImagesFeature
    {

        private static TechTalk.SpecFlow.ITestRunner testRunner;

        pr// ------------------------------------------------------------------------------
//  <auto-generated>
//      This code was generated by SpecFlow (http://www.specflow.org/).
//      SpecFlow Version:2.3.0.0
//      SpecFlow Generator Version:2.3.0.0
// 
//      Changes to this file may cause incorrect behavior and will be lost if
//      the code is regenerated.
//  </auto-generated>
// ------------------------------------------------------------------------------
+ Designer generated code

请注意这里有重复的代码块。似乎重新生成的代码被添加到旧代码中间的某处(我们看到“pr // ---”)。

另一个例子是后面的代码文件,其语法错误如缺少括号或格式不正确。

我的解决方案中的所有测试项目都包含以下包:

  • MSTest.TestAdapter v1.3.2
  • MSTest.TestFramework v1.3.2
  • SpecFlow v2.3.1
  • SpecFlow.MsTest v2.3.1
  • .Net Framework 4.6.2

单元测试提供程序是mstest.v2。

到目前为止,我已尝试清除%TEMP%中的SpecFlow文件。我确保所有项目都安装了相同版本的SpecFlow。我已经清理了解决方案并完成了重建。如果我单独在每个功能文件上运行自定义工具,我从来没有遇到过这个问题。

我感谢您的帮助!

c# msbuild specflow
1个回答
0
投票

该问题是由具有长名称,嵌套文件夹和长测试场景描述的项目引起的。我缩短了其中一个功能文件中的场景描述,这些功能文件经常使其后面的代码损坏,之后问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.