我想为testFixture设置一个Author,并在运行时获取它以便能够在我的DB中获取它:
这是TestFixture
类我为testFixture级别设置Nunit属性Author:
[TestFixture(Author = nameof(AuthorName.Eva)),MachineCategory.Filter]
public class FilterTests : WidiaTestSetup
{
[Test, RetryOnFailureOrException]
public void FilterCuttingDiameter()
{ ...}
}
要从测试级别获取测试作者,我会:
Author = TestContext.CurrentContext.Test.Properties.Get("Author").ToString()
但它不能从testFixture开始如何从TestFixture
级别获取它?
提前致谢
虽然它不是一个非常优雅的解决方案,但反思可能是你最好的选择。
var author = GetType().CustomAttributes.First().NamedArguments.First(x => x.MemberName.Equals("Author")).TypedValue.ToString();
我建议你在OneTimeSetup中这样做,以避免每次测试产生任何不必要的成本。
它可以在夹具的TestContext
中找到。只需将它保存在OneTimeSetUp
方法中。
[OneTimeSetUp]
public void GrabTheAuthor()
{
_fixtureAuthor = TestContext.CurrentContext.Test.Properties.Get("Author").ToString();
}