例如:

    [TestFixtureSetUp]
    public void Init()
    {
        GetTestRepo(false);
    }

在此示例中,[TestFixtureSetUp]会做什么?根据我的经验,[]通常是指列表。

最佳答案

Attributes。它们是add metadata关于inspection at runtime的方法/属性/接口(interface)/类/命名空间的一种方法。

您的示例将TestFixtureSetUpAttribute添加到方法中。这使测试运行程序可以确定在设置文本装置时要运行类中的哪种方法。

测试运行器会在运行时将测试程序集加载到内存中。然后,它枚举在程序集中定义的用特殊属性标记的类(无论NUnit用来标记测试类)。现在,跑步者知道要实例化哪些类来运行测试。然后,它会在类中定义的方法中寻找将要运行的方法,以建立测试夹具。它在每种方法中搜索您询问的属性。一旦找到该方法,它便知道在运行测试/每个测试之前运行该方法(无论在NUnit中是什么意思)。

属性都是关于添加有关您可以在运行时搜索的方法的信息的。如果您不需要'em,那么您就不会错过'em,但是当您确实需要它们时,OMFG非常有用。

(在C#中,您可以从类型名称中省略“Attribute”。编译器知道您在说的是“SerializableAttribute”,当您说[Serializable]时)

10-07 18:53