我如何在 XUNIT 中 运行 之前和之后的所有测试都是 运行 的方法,同时保持固定的夹具?

How can I run a a method prior and after all tests are run in XUNIT, while Keeping a fixed Fixture?

我正在尝试实现一个 BeforeAfterMethodRun 虽然我已经有一个不是我写的并且正在其他项目中使用的 Fixture。有没有办法在我的 class 中有另一个基数 class 的同时添加它?我收到以下错误:

我的目标是在 class 中的任何方法被调用一次之前执行命令,这也可以在每次方法调用时调用。尽管这些方法不会相同,并且会从 class 更改为 class.

有办法实现吗?

好的,所以我对属性装饰不是很了解。我可以通过创建一个新的 class 来实现这一点:

using System;
using System.Reflection;
using Linedata.Amp.Qa.Foundation.Logger;
using Xunit.Sdk;

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
class ReportBeforeAttribute : BeforeAfterTestAttribute
{
    public override void Before(MethodInfo methodUnderTest)
    {
        Trace.Log("Starting Method");
    }

    public override void After(MethodInfo methodUnderTest)
    {
        Trace.Log("MethodFinished ");
    }
}

然后将需要的class装饰为[ReportBefore]