【发布时间】:2017-10-24 15:53:47
【问题描述】:
历史:nUnit 3. 我有复杂继承的测试。在SetUp 或OneTimeSetUp 中创建了某个对象。这些方法是虚拟的。当这个对象没有关闭时,就会发生泄漏。
问题:对象在TearDown或OneTimeTearDown被销毁,但只有在SetUp或OneTimeSetUp成功时才会调用。因此,当TearDown 或OneTimeTearDown 中的某处发生异常时,就会发生泄漏。正如我所提到的,有多个继承级别,因此异常和关键对象的创建可能发生在不同的类中,在不同的堆栈帧上。
我想做的事:我想让ITestEventListener在初始化完成之前对失败做出反应并清理关键对象。
我尝试了什么:在我的测试程序集中我创建了这个类:
namespace My.Whatever.Tests.Web.Util
{
[Extension(EngineVersion = "3.4")]
public class NunitEventListener : ITestEventListener
{
public void OnTestEvent(string report)
{
Debug.WriteLine(report);
}
}
}
然后我尝试通过
运行测试- VS(nunit 3 测试适配器)
- nUnit 控制台
似乎没有加载扩展。
问题:我做错了什么?
信息来源:https://github.com/nunit/docs/wiki/Event-Listeners、https://github.com/nunit/docs/wiki/Writing-Engine-Extensions
【问题讨论】:
标签: c# unit-testing nunit nunit-3.0