我如何在 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]
我正在尝试实现一个 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]