NUnit GUI运行器无法识别SpecFlow的App.config

时间:2010-06-03 02:47:34

标签: nunit specflow

如何让我的App.config文件被NUnit GUI运行器识别/使用?我已经尝试将它放在我的项目的顶层文件夹中,并放在与我的功能文件相同的文件夹中。以下是我的App.config文件的内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/>
  </configSections>

  <specFlow>
    <runtime detectAmbiguousMatches="true"
             stopAtFirstError="false"
             missingOrPendingStepsOutcome="Error" />
  </specFlow>
</configuration>

具体来说,我试图告诉NUnit在出现缺失或挂起步骤时出现失败结果,这就是我为此指定“错误”的原因。当我使用TestDriven.net时,这实际上可以正常工作,但是当我使用NUnit GUI运行器时却没有。 GUI始终显示绿色条,并将测试显示为不确定而不是错误或失败。

我正在使用此命令行参数启动GUI:

E:\ Program Files \ NUnit 2.5.5 \ bin \ net-2.0 \ nunit.exe“E:\ ACSreader new work \ ACSreader2 Working Copy \ trunk \ ACSreader2 \ ACSreader2.sln”/ config:Test

2 个答案:

答案 0 :(得分:3)

有关NUnit GUI Runner的更新:

NUnit-Runner似乎没有正确显示/报告不确定的测试。在NUnit-GUI中,不确定的测试显示为绿色,而TestDriven和ReSharper显示为黄色。

如问题所示,可以将SpecFlow配置为将缺失的步骤报告为错误而不是不确定。

配置发生在包含功能文件的项目的App.config中。应用了.NET中App.config的常用机制。这意味着在运行时,配置信息必须位于名为.dll.config的文件中。运行时将配置提供给SpecFlow。 SpecFlow不会从App.config中读取配置本身!

确保在运行时,正确命名的配置文件与包含测试夹具的dll一起出现。 VisualStudio通常在构建项目时透明地执行此操作。


原始答案:

App.config必须位于包含test-fixture(包含功能文件的项目)的项目的根文件夹中。

看一下github上的例子。不同项目中有几个App.config文件:

http://github.com/techtalk/SpecFlow-Examples/tree/master/ASP.NET-MVC/BookShop/BookShop.AcceptanceTests/

http://github.com/techtalk/SpecFlow-Examples/tree/master/ASP.NET-MVC/BookShop/BookShop.AcceptanceTests.Selenium/

http://github.com/techtalk/SpecFlow-Examples/tree/master/BowlingKata/BowlingKata-MsTest/Bowling.SpecFlow/

答案 1 :(得分:0)

查看我的回答nunit and configs 您需要告诉nunit配置文件的名称是什么。它默认查找namespace.config接缝