你可以使用TestDriven.Net或直接从Visual Studio执行concordion.net测试吗?

时间:2014-09-16 15:41:40

标签: testing nunit testdriven.net concordion

是否可以使用某种形式的Visual Studio插件运行用Concordion.Net编写的测试?我期待着开始使用Concordion.Net。但是,我习惯直接通过Resharper插件从Visual Studio运行测试。由于Concordion.Net是一个不同的概念,并使用HTML文件来“指定”测试,因此无法使用Resharper插件。

您可以使用nUnit GUI运行它们,但使用它并且速度慢,这有点痛苦。

2 个答案:

答案 0 :(得分:0)

您可以使用TestDriven.NET(http://testdriven.net/)在Visual Studio中执行Concordion.NET测试。要运行测试,请在Concordion.NET fixture类(http://testdriven.net/quickstart.aspx)上使用TestDriven.NET的“Run Test(s)”命令。

请确保您已在规范项目的AssemblyInfo.cs中指定了[assembly:RequiredAddin(“ConcordionNUnitAddin”)]属性,如“使用NUnit运行Concordion.NET测试”中所述({{ 3}})。

在Visual Studio中使用TestDriven.NET运行Concordion.NET测试时,您应该看到类似于的输出:
“------测试开始:汇编:Concordion.Spec.dll ------
处理规格:C:\ Users \ myuser \ AppData \ Local \ Temp \ Concordion \ Spec \ Concordion \ Command \ AssertEquals \ NonString \ Boolean.html
1次传递,0次失败,0次跳过,耗时0.67秒(NUnit 2.6.2)。“

为了能够使用TestDriven.NET运行Concordion.NET测试,您必须将Concordion.NUnit.dll安装到TestDriven.NET的安装目录中(C:\ Program Files(x86)\ TestDriven.NET \ NUnit \ 2.6 \加载项\ Concordion.NUnit.dll)。

答案 1 :(得分:0)

Concordion.NET测试可以在NUnit(http://concordion.org/dotnet/RunningTests.html)的帮助下运行,基于Concordion NUnit插件。当NUnit发现包含使用[ConcordionTest]注释的Concordion.NET fixture代码的类时,Concordion.NUnit addin会加载相关的HTML规范文档,并创建一个在NUnit帮助下执行的测试实例。

不幸的是,ReSharper使用不同的机制来查找测试,而不是NUnit(http://confluence.jetbrains.com/display/NETCOM/4.09+Test+Framework+Support+%28R8%29)。因此,有必要编写一个ReSharper插件来识别用[ConcordionTest]注释的类,并使用ReSharper NUnit支持来执行它们。 NUnit 3.0可能会遵守ReSharper使用的接口。

另一方面,当前版本的NUnit Adapter for Visual Studio(http://nunit.org/index.php?p=vsTestAdapter&r=2.6.2)无法正确加载NUnit插件。 NUnit的更新是必要的,计划用于NUnit 3.0(https://github.com/nunit/nunit-vs-adapter/issues/9)。

要在Visual Studio中运行Concordion.NET测试,您可以使用上面描述的TestDriven.NET。