C# Class NUnit.Framework.Internal.Execution.WorkItem

A WorkItem may be an individual test case, a fixture or a higher level grouping of tests. All WorkItems inherit from the abstract WorkItem class, which uses the template pattern to allow derived classes to perform work in whatever way is needed. A WorkItem is created with a particular TestExecutionContext and is responsible for re-establishing that context in the current thread before it begins or resumes execution.
Show file Open project: nunit/nunit

Private Properties

Property Type Description
RunTest void
RunTestOnOwnThread void
RunThread void

Public Methods

Method Description
Cancel ( bool force ) : void

Cancel (abort or stop) a WorkItem

CreateWorkItem ( ITest test, ITestFilter filter ) : WorkItem

Creates a work item.

Execute ( ) : void

Execute the current work item, including any child work items.

InitializeContext ( TestExecutionContext context ) : void

Initialize the TestExecutionContext. This must be done before executing the WorkItem.

Originally, the context was provided in the constructor but delaying initialization of the context until the item is about to be dispatched allows changes in the parent context during OneTimeSetUp to be reflected in the child.

WorkItem ( System.Test test ) : System

Construct a WorkItem for a particular test.

Protected Methods

Method Description
PerformWork ( ) : void

Method that performs actually performs the work. It should set the State to WorkItemState.Complete when done.

WorkItemComplete ( ) : void

Method called by the derived class when all work is complete

Private Methods

Method Description
RunTest ( ) : void
RunTestOnOwnThread ( int timeout, ApartmentState apartment ) : void
RunThread ( int timeout ) : void

Method Details

Cancel() public method

Cancel (abort or stop) a WorkItem
public Cancel ( bool force ) : void
force bool true if the WorkItem should be aborted, false if it should run to completion
return void

CreateWorkItem() static public method

Creates a work item.
static public CreateWorkItem ( ITest test, ITestFilter filter ) : WorkItem
test ITest The test for which this WorkItem is being created.
filter ITestFilter The filter to be used in selecting any child Tests.
return WorkItem

Execute() public method

Execute the current work item, including any child work items.
public Execute ( ) : void
return void

InitializeContext() public method

Initialize the TestExecutionContext. This must be done before executing the WorkItem.
Originally, the context was provided in the constructor but delaying initialization of the context until the item is about to be dispatched allows changes in the parent context during OneTimeSetUp to be reflected in the child.
public InitializeContext ( TestExecutionContext context ) : void
context TestExecutionContext The TestExecutionContext to use
return void

PerformWork() protected abstract method

Method that performs actually performs the work. It should set the State to WorkItemState.Complete when done.
protected abstract PerformWork ( ) : void
return void

WorkItem() public method

Construct a WorkItem for a particular test.
public WorkItem ( System.Test test ) : System
test System.Test The test that the WorkItem will run
return System

WorkItemComplete() protected method

Method called by the derived class when all work is complete
protected WorkItemComplete ( ) : void
return void