C# 在测试资源管理器c上未发现Specflow测试#

C# 在测试资源管理器c上未发现Specflow测试#,c#,visual-studio,selenium,specflow,xunit,C#,Visual Studio,Selenium,Specflow,Xunit,在发布问题之前,我做了很多研究,但我找不到解决问题的方法 我试图使用selenium进行自动化测试,但问题是,出于某种原因,我的测试资源管理器没有选择specflow测试 以下是我正在使用的: c#.net核心项目 Specflow 许尼特 硒驱动器 硒铬驱动器 我已安装的NuGet软件包: 硒。支持 Selenium.WebDriver Selenium.WebDriver.ChromeDriver Specflow Specflow.NetCore Specflow.xUnit 跑,跑

在发布问题之前,我做了很多研究,但我找不到解决问题的方法

我试图使用selenium进行自动化测试,但问题是,出于某种原因,我的测试资源管理器没有选择specflow测试

以下是我正在使用的:

  • c#.net核心项目
  • Specflow
  • 许尼特
  • 硒驱动器
  • 硒铬驱动器
我已安装的NuGet软件包:

  • 硒。支持
  • Selenium.WebDriver
  • Selenium.WebDriver.ChromeDriver
  • Specflow
  • Specflow.NetCore
  • Specflow.xUnit
  • 跑,跑
  • 许尼特
  • xunit.core
  • xunit.runner.visualstudio
我还安装了Visual Studio 2017的Specflow


我已安装并卸载了大量NuGet软件包,试图解决此问题。有谁能帮我吗?

在我看来,您可能缺少对TechTalk.SpecRun.Common的引用。请检查这是否在您的解决方案参考中

如果被引用,测试适配器缓存可能已损坏。尝试查看以下步骤:
经过多次尝试,我终于修好了。删除其中一个运行程序SpecRun后,我添加了Specflow.Tools.MSbuild.Generation NuGet包,它修复了这个问题


希望对有同样问题的人有用

如果遇到问题,并且已经在项目中安装了
Specflow.Tools.MSBuid.Generation
NuGet软件包,并且 间歇性地丢失生成的测试,那么您应该意识到
Specflow.Tools.MSBuild.Generation
Version=2.3.2中存在错误

您可以升级到更新版本的Specflow.Tools.MSBuild.Generation 或者应用解决方法

解决方法是编辑.csproj并在UpdateFeatureFilesinProject之后添加一个节

<Target Name="AfterUpdateFeatureFilesInProject">
  <ItemGroup>
    <Compile Include="@(SpecFlowGeneratedFiles)" />
  </ItemGroup>
</Target>

<!-- Workaround Specflow 2.3 MSBuild bug. SpecFlowGeneratedFiles 
     is not set if UpdateFeatureFilesInProject is up-to-date
   causing tests not to be discovered, as they are not included in the project -->
<ItemGroup>
  <Compile Include="**/*.feature.cs" Exclude="@(SpecFlowGeneratedFiles)">
    <DependentUpon>%(Filename)</DependentUpon>
  </Compile>
</ItemGroup>

%(文件名)

此外,当我构建解决方案时,它会向我抛出以下错误:[30/01/2019 10:15:46错误]调用executor's时发生异常executor://specrun/executorV3.0.194“:调用的目标已引发异常。无法加载文件或程序集“TechTalk.SpecRun.Common,版本=3.0.0.0,区域性=中性,PublicKeyToken=D0FC5CC18B389B”。系统找不到指定的文件========你不需要两个跑步者。我会删除SpecRun.Runner。我确实这么做了,但它并没有说在home\username\Documents\visualstudio 2017\Projects\TestSelenium\TestSelenium\bin\Debug\netcoreapp2.1\TestSelenium.dll.Related post中可以使用o test-我删除了SpecRun NuGet包,因为我也有Xunit Runner,但现在它说“在…中没有可用的测试”你用VS代码运行了吗?看起来您的解决方案就是我想要开始的地方-您在GitHub上有一个示例吗?我没有使用VS代码,我使用的是Visual Studio 2017您有一个可以放在GitHub上的解决方案示例吗?