<PackageReference Include="NUnit" Version="3.9.0" />

SetUpTearDownCommand

SetUpTearDownCommand runs SetUp methods for a suite, runs the test and then runs TearDown methods.
namespace NUnit.Framework.Internal.Commands { public class SetUpTearDownCommand : BeforeAndAfterTestCommand { public SetUpTearDownCommand(TestCommand innerCommand, SetUpTearDownItem setUpTearDown) : base(innerCommand) { Guard.ArgumentValid(innerCommand.Test is TestMethod, "SetUpTearDownCommand may only apply to a TestMethod", "innerCommand"); Guard.OperationValid(base.Test.TypeInfo != null, "TestMethod must have a non-null TypeInfo"); Guard.ArgumentNotNull(setUpTearDown, "setUpTearDown"); BeforeTest = delegate(TestExecutionContext context) { setUpTearDown.RunSetUp(context); }; AfterTest = delegate(TestExecutionContext context) { setUpTearDown.RunTearDown(context); }; } } }