Visual studio 2015 测试资源管理器visual studio 2015未发现specflow测试

Visual studio 2015 测试资源管理器visual studio 2015未发现specflow测试,visual-studio-2015,specflow,Visual Studio 2015,Specflow,不确定这是否是visual studio的bug,或者我是否忽略了显而易见的问题,但这有点偶然 有时候VisualStudio会发现这些测试,大多数时候我只能看到字幕进度条,其他什么都看不到 你知道为什么吗 已编辑 结果是: 有时测试不显示 大多数情况下,测试都会显示,但在构建/重建解决方案时,字幕进度条会无限循环,运行选定测试和调试选定测试都被禁用,因此无法运行测试。输出窗口不会显示任何内容。如果有一些消息,请查看输出窗格/测试输出,指示测试不可见的原因。 SpecFlow生成带有属性的普通M

不确定这是否是visual studio的bug,或者我是否忽略了显而易见的问题,但这有点偶然

有时候VisualStudio会发现这些测试,大多数时候我只能看到字幕进度条,其他什么都看不到

你知道为什么吗

已编辑

结果是:

有时测试不显示
大多数情况下,测试都会显示,但在构建/重建解决方案时,字幕进度条会无限循环,运行选定测试和调试选定测试都被禁用,因此无法运行测试。输出窗口不会显示任何内容。

如果有一些消息,请查看输出窗格/测试输出,指示测试不可见的原因。

SpecFlow生成带有属性的普通MSTest测试用例。所以测试资源管理器应该每次都能找到它们,而不需要做任何额外的工作

如果有一些消息指示测试不可见的原因,请查看输出窗格/测试输出。

SpecFlow生成带有属性的普通MSTest测试用例。所以测试资源管理器应该每次都能找到它们,而不需要做任何额外的工作

Specflow.Tools.MSBuild.GenerationVersion=2.3.2中存在错误

它的一个简短摘要是这样的:Specflow查找
.feature
文件 以及相应的
.feature.cs
文件是否丢失或丢失 过期后,它将生成它们并将它们添加到文件列表中 调用了
SpecFlowGeneratedFiles
.csproj
包含一个 将
SpecFlowGeneratedFiles
编译到程序集中。如果文件 如果不包括,则组件中没有测试,因此 没有发现任何测试

如果所有.feature.cs文件都已存在并且 最新,未设置
SpecFlowGeneratedFiles
,您可以 测试神秘消失的令人愤怒的情况。 您可以通过删除生成的
.feature.cs
从磁盘中删除文件并重新生成

一种解决方法是编辑.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>

%(文件名)

Specflow.Tools.MSBuild.GenerationVersion=2.3.2中存在错误

它的一个简短摘要是这样的:Specflow查找
.feature
文件 以及相应的
.feature.cs
文件是否丢失或丢失 过期后,它将生成它们并将它们添加到文件列表中 调用了
SpecFlowGeneratedFiles
.csproj
包含一个 将
SpecFlowGeneratedFiles
编译到程序集中。如果文件 如果不包括,则组件中没有测试,因此 没有发现任何测试

如果所有.feature.cs文件都已存在并且 最新,未设置
SpecFlowGeneratedFiles
,您可以 测试神秘消失的令人愤怒的情况。 您可以通过删除生成的
.feature.cs
从磁盘中删除文件并重新生成

一种解决方法是编辑.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>

%(文件名)

您正在使用哪个单元测试提供程序?我正在使用mstest作为单元提供程序您是否安装了VisualStudio 2015的更新3?您正在使用哪个单元测试提供程序?我正在使用mstest作为单元提供程序您是否安装了VisualStudio 2015的更新3?我已经编辑了我的问题,提供了更多详细信息。很痛苦。您可以运行任何其他免费GUI。例如,Nunit Gui runner它与2015一起工作吗?基本上,我不想使用测试资源管理器来运行我的测试,但我需要一个免费的guit。这里有一个nunit2gui运行程序,但没有一个用于NUnit3。现在所有的测试框架都使用VisualStudio中的测试资源管理器的测试适配器。我已经编辑了我的问题,提供了更多的细节。很痛苦。您可以运行任何其他免费GUI。例如,Nunit Gui runner它与2015一起工作吗?基本上,我不想使用测试资源管理器来运行我的测试,但我需要一个免费的guit。这里有一个nunit2gui运行程序,但没有一个用于NUnit3。目前,所有测试框架都使用VisualStudio中测试资源管理器的测试适配器。