关于NUnit TestFixtureTeardown属性
本文关键字:属性 TestFixtureTeardown NUnit 关于 | 更新日期: 2023-09-27 18:12:13
如果我有这样的代码-
public class BaseClass
{
[TestFixtureTeardown]
public void SomeMethod()
{
...
}
}
public class DerivedClass : BaseClass
{
[TestFixtureTeardown]
public void SomeMethod2()
{
...
}
}
现在,TestFixtureTeardown属性的工作原理(正确地)是这样的-它将执行方法someemethod2(),然后是someemethod(),也就是说,如果我们用TestFixtureTeardown属性装饰它们,它将首先执行派生类的方法,然后执行基类的方法。现在这是我的问题——我是BaseClass的提供者,而其他开发人员将编写派生类。但是不能保证他们会写一个带有TestFixtureTeardown属性装饰的方法。那么我能做些什么来强制他们编写一个带有这样一个属性的方法呢?所以在一般情况下,我问的是-如何强制一个类实现有一个特定的属性对它的方法?
有什么建议吗?
您使用的是哪个版本的NUnit ?我猜它是> 2.5,因为你的第一个例子不会工作,除非这是真的。
从NUnit 2.5开始,具有此属性的基类(TestFixtureTeardown)将在派生类中的每个测试方法之后被调用。
简而言之,您不需要要求派生类定义此属性—无论如何都将调用基类方法。
查看NUnit文档页面关于TestFixtureTeardown属性的更多信息