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

RequiresThreadAttribute

Marks a test that must run on a separate thread.
using NUnit.Framework.Interfaces; using NUnit.Framework.Internal; using System; using System.Runtime.CompilerServices; using System.Threading; namespace NUnit.Framework { [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)] public class RequiresThreadAttribute : PropertyAttribute, IApplyToTest { public RequiresThreadAttribute() : base(true) { } public RequiresThreadAttribute(ApartmentState apartment) : base(true) { Guard.ArgumentValid(apartment != ApartmentState.Unknown, "must be STA or MTA", "apartment"); base.Properties.Add("ApartmentState", apartment); } [System.Runtime.CompilerServices.NullableContext(1)] void IApplyToTest.ApplyToTest(Test test) { test.RequiresThread = true; base.ApplyToTest(test); } } }