gpt4 book ai didi

.net - MSTest 中 TestExecution 类的用途是什么?

转载 作者:行者123 更新时间:2023-12-01 19:59:46 27 4
gpt4 key购买 nike

我找到了TestExecution类,它公开了一系列非常有帮助的事件。但是,除了 MSDN 文档之外,我找不到对它的引用,并且文档没有提供任何关于如何使用它的提示,或者如何在测试运行期间获取对实例的引用。

使用 .NET Reflector 查看也没有帮助 - TestExecution 由另一个内部类 UnitTestExecution 实现。我在任何 Microsoft.VisualStudio.QualityTools.* 库中都找不到对这两个类的任何其他引用,既没有以进一步实现的形式,也没有在任何其他类中作为属性类型引用。

我如何才能访问这些事件?

最佳答案

TestExecution实现自定义 TestExtensionExecution 时会向您提供实例。它提供了 Initialize方法,您可以重写该方法来订阅测试事件。

这通常是 MSTest 中自定义测试属性实现的一部分。

编辑要创建您自己的测试扩展,请首先创建一个派生自 Microsoft.VisualStudio.TestTools.UnitTesting.TestClassExtensionAttribute 的新属性。 ,这是一个抽象类,要求您提供 TestExtensionExecution通过GetExtension()方法。

将您的属性应用于您的测试方法之一,您应该能够在测试期间订阅这些事件(在属性返回的 TestExtensionExecution 实现中)

请注意,您还必须实现 ITestMethodInvoker您应该能够从 TetMethodInvokerContext.TestMethodInfo 创建它提供给TestExtensionExecute.CreateTestMethodInvoker的属性(property)方法。

关于.net - MSTest 中 TestExecution 类的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com