构建的测试不会添加到Visual Studio Test Explorer窗口中

时间:2015-06-01 12:27:08

标签: specflow white

  1. 我为Visual Studio 2013设置了SpecFlow插件。
  2. 我创建了新的功能项并构建它。
  3. 结果:测试资源管理器中未显示内置测试。为什么呢?

    我按照这个video

    来做

10 个答案:

答案 0 :(得分:21)

我遇到同样的问题,但解决方案不同。

根据SpecFlow Github issue的建议,以下内容对我有用:

  1. 关闭所有Visual Studio实例
  2. 转到%TEMP%\ VisualStudioTestExplorerExtensions \
  3. 删除此处的所有文件夹
  4. 再试一次

答案 1 :(得分:20)

为了将其配置为生成MSTest测试,您需要将其添加到app.config:

date

答案 2 :(得分:14)

如果测试未在测试资源管理器中显示,则需要安装NUnit测试适配器:

转到工具 - >扩展程序和更新 - >在线 - > Visual Studio图库 - >工具 - >测试并选择NUnit测试适配器

答案 3 :(得分:1)

Visual Studio可以在加载时更改默认处理器体系结构。在不停地试图找出问题的同时,我终于弄明白了,它并不是真正的Specflow导致了这个问题。

如果您的引用需要特殊的体系结构,则会阻止测试显示在测试资源管理器中。根据您的需要将架构更改为x86或x64。

您可以执行的另一件事是查看构建问题,打开“输出”窗口并在构建期间将下拉列表更改为“测试”。它将突出显示构建期间发生的事情的任何信息。

我觉得有人应该提一下以防万一。

答案 4 :(得分:1)

对我来说,我从使用直接DLL引用更改为使用SpecFlow 3.1.7.4版的NuGet引用,从而解决了问题。

我需要引用“ SpecFlow”,“ SpecFlow.NUnit”和“ SpecFlow.Tools.MsBuild.Generation”。 然后在Visual Studio中单击“ 显示所有文件”按钮,以查看与其关联的功能文件(以前是该功能文件的关联子文件)在同级文件后面的代码。版本)。

我还需要使用文件后面代码上的“ 包含在项目中”上下文菜单项,以使测试显示在Visual Studio“测试资源管理器”中。

注意:我确实尝试从NuGet包中解压缩Specflow所需文件,并在我的项目中直接引用它们,以与我项目中的其他直接引用(非NuGet引用)保持一致,但这似乎不起作用,并且您必须使用NuGet参考。我在github中发现一个未解决的问题,该问题指出我们必须使用Nuget引用才能使测试在Test Explorer中运行: https://github.com/techtalk/SpecFlow/issues/1617

答案 5 :(得分:0)

我正在使用SpecRunner运行SpecFlow测试,实际上有几次相同的问题。 尝试了所有上述建议之后,我发现该问题的唯一解决方案是卸载并重新安装SpecRun NuGet软件包。下一版本,测试按预期出现在“测试资源管理器”窗口中。

答案 6 :(得分:0)

在我的情况下,未发现测试的原因是因为我正在使用Resharper构建。
我一到:Resharper-> Options-> Tools-> Build-> General:“使用ReSharper Build”(取消),然后突然发现了所有测试。

答案 7 :(得分:0)

就我而言,上述所有方法均无效。我的解决方案:我不知道为什么,但是-我在“工具=>扩展和更新”中重新安装了“ Specflow for Visual Studio 2015”,然后创建了一个新的功能文件(旧功能仍然无法使用) ,并且此新功能文件正常运行。

答案 8 :(得分:0)

对我来说,问题是我的srprofile文件中的TestAssemblyPath。它与我的实际dll名称不匹配。

答案 9 :(得分:0)

我尝试安装Nugget软件包

SpecFlow.Tools.MsBuild.Generation

具有与specflow相同的版本,现在我可以在TestExplorer中看到测试,其他方式对我不起作用。

我已经从1安装了

Nugget Package Specflow
Specflow.NUnit
Nunit
Nunit3TestAdapter

和Visual Studio for Specflow的扩展NUnitTestAdapter