3

如何让 NUnit GUI 运行程序识别/使用我的 App.config 文件?我已经尝试将它放在我项目的顶部文件夹中,并且与我的功能文件位于同一文件夹中。这是我的 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 始终显示一个绿色条,并将测试显示为 Inconclusive 而不是 Error 或 Failed。

我正在使用这个命令行参数启动 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

4

2 回答 2

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 必须位于包含测试装置(包含功能文件的项目)的项目的根文件夹中。

看看 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/

于 2010-06-03T05:47:27.797 回答
0

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

于 2011-04-28T16:33:38.790 回答