2016-08-15 76 views
4

我已经阅读了SpecFlow入门教程。 一切工作正常,但我有@SpecRun测试,因为我没有进入演示密钥。为什么我的SpecFlow测试没有在Visual Studio Test窗口中显示?

但我们的主要项目中,我们使用NUnit而不是SpecFlow +亚军。 所以我试图模仿这个项目。如果您使用NUnit,则不需要演示密钥。 所以我改变了单元测试提供者:

<specFlow> 
    <unitTestProvider name="NUnit" /> 
</specFlow> 

我还比较我的主要项目的引用教程引用。 我发现我可以拿出TechTalk.SpecRun并且该项目仍然可以编译。 当然需要TechTalk.SpecFlow。

如果我拿出SpecRun.SpecFlowPlugin,没有测试显示,除​​了@SpecRun,它是没有演示键测试延迟。

我也看到在主要项目称为CSharp文件:SpecFlowNUnitExtension.cs。 我带来了这个文件,但我的测试仍然没有出现在Visual Studio Test窗口中。 有什么我需要做的注册这个文件?

回答

0

如果你想你的测试 - 通过Specflow产生的单元测试,仅仅因为是精确的 - 在你的单元测试资源管理器,您必须创建单元测试项目显示。如果你创建了一个类库项目,那么你将不会看到它们。

Here你可以找到关于如何在你的类库项目转换为单元测试项目的信息。

+0

是的 - 这是一个单元测试项目。 – Sam

+1

仅当您使用MsTest作为测试框架时,使用单元测试项目模板才会有所帮助,因为此模板已经引用了它。如果你使用其他的东西,它没有帮助。 –

8

您需要的Visual Studio的测试亚军适配器获得的测试资源管理器的测试。它们由NuGet包分发。 将测试运行器的包添加到您的测试项目中。

  • SpecFlow +亚军:SpecRun.Runner
  • NUnit2:NUnitTestAdapter
  • NUnit3:NUnit3TestAdapter
  • 的xUnit:xunit.runner.visualstudio
  • MSTEST:没有额外的适配器需要
+0

请在回答中澄清,如果你需要所有人或其中之一。 –

+0

你需要其中之一。这取决于你想使用的测试跑步者。 –

4

将您的NUnit测试适配器更新为NUnit3测试适配器。 重新启动Visual Studio并重建测试应该显示。

相关问题