TestCaseBuilders (NUnit 2.4)

Purpose

TestCaseBuilders create Tests based on a MethodInfo. NUnit uses several TestCaseBuilders internally to create various kinds of TestMethods.

Extension Point

Addins use the host to access this extension point by name:
	IExtensionPoint testCaseBuilders = host.GetExtensionPoint( "TestCaseBuilders" );

Interfaces

The extension object passed to Install must implement either the ITestCaseBuilder or the ITestCaseBuilder2 interface:

	public interface ITestCaseBuilder
	{
		bool CanBuildFrom( MethodInfo method );
		Test BuildFrom( MethodInfo method );
	}

	public interface ITestCaseBuilder2 : ITestCaseBuilder
	{
		bool CanBuildFrom( MethodInfo method, Test suite );
		Test BuildFrom( MethodInfo method, Test suite );
	}

NUnit will call ITestCaseBuilder2 if it is available. Otherwise ITestCaseBuilder will be used.

The CanBuildFrom method should return true if the addin can build a test from the MethodInfo provided. Some TestCaseBuilder addins are only intended to apply to methods within a specific type of fixture. The suite argument of the ITestCaseBuilder2 interface may be used to make this determination.

The BuildFrom method should return a test constructed over the MethodInfo provided as an argument or null if the method cannot be used.