将其设置为TestFixture级别而不是Test级别时,如何获取作者属性?

时间:2019-04-29 23:22:25

标签: c# unit-testing testing nunit

我想为 testFixture 设置一个Author,并在运行时获取它,以便能够在我的数据库中获取它:

这里是if [count_total_cre] <= 75 then [count_total_cre]*15 else 0 end 类 我将Nunit属性Author设置为testFixture级别:

case [Sales]
when 75 then [Sales]*15
when xx then yy
else zz
end

要从 test 级别获得测试作者,我要做的是:

apt-get install --fix-missing

但是从 testFixture 无法正常工作 如何从TestFixture级别获取它?

预先感谢

2 个答案:

答案 0 :(得分:1)

它在灯具的TestContext中可用。只需将其保存在OneTimeSetUp方法中即可。

[OneTimeSetUp]
public void GrabTheAuthor()
{
    _fixtureAuthor = TestContext.CurrentContext.Test.Properties.Get("Author").ToString();
}

答案 1 :(得分:0)

尽管这不是一个非常优雅的解决方案,但反射可能是您最好的选择。

var author = GetType().CustomAttributes.First().NamedArguments.First(x => x.MemberName.Equals("Author")).TypedValue.ToString();

我建议您在OneTimeSetup中执行此操作,以避免每次测试产生不必要的费用。