[英]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.