The IsTestMember, GetTestMembersFor, IsTestClass and IsTestProject methods are called by SharpDevelop to determine whether a method, class or project contains a unit test and should be added to the Unit Tests tree.

The CreateTestRunner and CreateTestDebugger methods are called when the unit tests are run.

The IsBuildNeededBeforeTestRun should return true unless you are supporting a project that does not require any compilation before the tests are run.

A test runner needs to implement the ITestRunner interface as shown below.