Skip to content

NUnit1032 - disposals in overridden methods not detected #921

@PiotrKlecha

Description

@PiotrKlecha

Object disposal that occurs in an overriden method invoked by a base test class is not detected and a diagnostic is reported.

An simplified example that demonstrates the problem:

[TestFixture]
public class BaseTest
{
	[SetUp]
	public void SetUp()
	{
		OnSetUp();
	}

	[TearDown]
	public void TearDown()
	{
		OnTearDown();
	}

	protected virtual void OnSetUp()
	{
	}

	protected virtual void OnTearDown()
	{
	}
}

[TestFixture]
public class InheritedTest : BaseTest
{
	private IDisposable? disposable;

	protected override void OnSetUp()
	{
		base.OnSetUp();
		disposable = new ADisposable();
	}

	protected override void OnTearDown()
	{
		disposable?.Dispose();
		base.OnTearDown();
	}
}

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions