我创建了一个TestCaseAttribute,它有一个After方法。该属性接收测试轨道案例Id并运行Id,并需要将结果发送到testrail。
问题是我无法配置如何将结果传递给After方法,或者如何从测试中更新属性属性。
关注我的属性类:
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]
public class TestCaseAttribute : BeforeAfterTestAttribute
{
public ulong CaseId { get; private set; }
public ulong RunId { get; private set; }
public TestCaseAttribute(ulong caseId, ulong runId)
{
CaseId = caseId;
RunId = runId;
}
public string Result { get; set; }
public string Message { get; set; }
public override void After(MethodInfo methodUnderTest)
{
TestRail2.PostResult(RunId, CaseId, "Passed", message: "Test Passed");
}
}
}
答案 0 :(得分:0)
我很确定xUnit.net不会在您正在寻找/提议的级别公开结果。不幸的是。
您可以使用TestRunner覆盖检测发现并运行测试类型,如下所示: https://github.com/xunit/samples.xunit/blob/master/ObservationExample/XunitExtensions/ObservationTestCaseRunner.cs
在不改变测试的情况下管理全局后处理的最接近的事情是这样的: https://github.com/xunit/samples.xunit/blob/master/TestRunner/Program.cs
我猜你的真实答案要么在两组之间,要么在那组样本中的其他地方;那里有很多可能的例子。