ExplicitAttribute
Marks an assembly, test fixture or test method such that it will only run if explicitly
executed from the GUI, command line or included within a test filter.
The test will not be run simply because an enclosing suite is run.
using NUnit.Framework.Interfaces;
using NUnit.Framework.Internal;
using System;
namespace NUnit.Framework
{
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
public class ExplicitAttribute : NUnitAttribute, IApplyToTest
{
private readonly string _reason;
public ExplicitAttribute()
{
}
public ExplicitAttribute(string reason)
{
_reason = reason;
}
public void ApplyToTest(Test test)
{
if (test.RunState != 0 && test.RunState != RunState.Ignored) {
test.RunState = RunState.Explicit;
if (_reason != null)
test.Properties.Set("_SKIPREASON", _reason);
}
}
}
}