<PackageReference Include="NUnit" Version="3.0.0-rc-3" />

RepeatAttribute

RepeatAttribute may be applied to test case in order to run it multiple times.
using NUnit.Framework.Interfaces; using NUnit.Framework.Internal; using NUnit.Framework.Internal.Commands; using System; namespace NUnit.Framework { [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)] public class RepeatAttribute : PropertyAttribute, IWrapSetUpTearDown, ICommandWrapper { public class RepeatedTestCommand : DelegatingTestCommand { private int repeatCount; public RepeatedTestCommand(TestCommand innerCommand, int repeatCount) : base(innerCommand) { this.repeatCount = repeatCount; } public override TestResult Execute(TestExecutionContext context) { int num = repeatCount; while (num-- > 0) { context.CurrentResult = innerCommand.Execute(context); if (context.CurrentResult.ResultState != ResultState.Success) break; } return context.CurrentResult; } } private int _count; public RepeatAttribute(int count) : base(count) { _count = count; } public TestCommand Wrap(TestCommand command) { return new RepeatedTestCommand(command, _count); } } }