繁体   English   中英

使用NUnit3TestAdapter在vstest.console上运行测试时,并非所有Specflow Hook都会执行

[英]Not all Specflow Hooks are executed when running tests on vstest.console with NUnit3TestAdapter

我们使用visualstudio.com发布管理器来告诉本地Build Agent从GIT分支中提取并在Build Agent机器上构建并执行一组SpecFlow测试。

我们正在使用带有自定义测试适配器(NUnit3TestAdapter 3.7.0)的Test Assemblies-task,并将其指向包含SpecFlow测试的程序集。 同一bin文件夹中的其他程序集包含执行安装和拆卸挂钩的SpecFlow挂钩。

我们面临的问题是似乎并非所有这些Hook都被调用。 .trx日志中的第一条消息和最后一条消息均来自[BeforeScenario][AfterScenario]挂钩。 [BeforeTestRun] ,在同一程序集中有[BeforeTestRun][AfterTestRun][BeforeFeature]挂钩。

我从下面粘贴了来自VSTS的(摘要)日志:

执行vstest.console.exe“包含测试的DLL ” / TestCaseFilter:“ TestCategory = MP2” /Settings:"C:\\agent_work\\r17\\a\\TestResults\\1_2017-05-31_09-31-50-AM.runsettings“ / logger :trx /TestAdapterPath:"C:\\agent_work\\r17\\a\\drop\\b\\packages\\NUnit3TestAdapter.3.7.0\\tools“

Microsoft(R)测试执行命令行工具版本14.0.25420.1 2017-05-31T07:31:51.1862622Z版权所有(c)Microsoft Corporation。 版权所有。

开始执行测试,请稍候...

信息:NUnit适配器3.7.0.0:测试执行开始

信息:在C:\\ agent_work \\ r17 \\ a \\ drop \\ b \\ DLL包含测试中运行所有测试

信息:NUnit3TestExecutor转换了472个NUnit测试用例中的472个

然后从测试本身进行日志记录,从BeforeScenario消息开始。

我不知道为什么从来没有调用其他钩子。 NUnit3TestAdapter甚至可以跟踪TestRun上下文吗? 是因为Before / AfterTestRun和Before / AfterFeature-hook绑定到静态方法吗? 还是有可能它们被执行了,但是消息从未传递到.trx日志?

事实证明, [BeforeTestRun]被很好地调用了,但是没有出现在日志中。 问题出在[AfterTestRun] ,它原来是SpecFlow中的一个旧错误 ,从未真正修复过(?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM