Ответ 1
Экземпляр TestExecution
предоставляется вам при реализации пользовательского TestExtensionExecution
. Он предоставляет метод Initialize, который вы можете переопределить для подписки на тестовые события.
Обычно это часть реализации пользовательского тестового атрибута в MSTest.
Edit
Чтобы создать собственное тестовое расширение, начните с создания нового атрибута, полученного из Microsoft.VisualStudio.TestTools.UnitTesting.TestClassExtensionAttribute
, который является абстрактным классом, требующим предоставить TestExtensionExecution
с помощью метода GetExtension()
.
Примените свой атрибут к одному из ваших методов тестирования и вы сможете подписаться на эти события во время теста (внутри реализации TestExtensionExecution
, возвращаемой атрибутом)
Обратите внимание, что вам также необходимо реализовать ITestMethodInvoker
, который вы должны создать из свойства TetMethodInvokerContext.TestMethodInfo
, предоставленного методу TestExtensionExecute.CreateTestMethodInvoker
.