Table of Contents

Namespace NUnit.Framework.Internal

Classes

AssemblyHelper

AssemblyHelper provides static methods for working with assemblies.

CultureDetector

CultureDetector is a helper class used by NUnit to determine whether a test should be run based on the current culture.

ExceptionHelper

ExceptionHelper provides static methods for working with exceptions

GenericMethodHelper

GenericMethodHelper is able to deduce the Type arguments for a generic method from the actual arguments provided.

InternalTrace

InternalTrace provides facilities for tracing the execution of the NUnit framework. Tests and classes under test may make use of Console writes, System.Diagnostics.Trace or various loggers and NUnit itself traps and processes each of them. For that reason, a separate internal trace is needed.

Note: InternalTrace uses a global lock to allow multiple threads to write trace messages. This can easily make it a bottleneck so it must be used sparingly. Keep the trace Level as low as possible and only insert InternalTrace writes where they are needed. TODO: add some buffering and a separate writer thread as an option. TODO: figure out a way to turn on trace in specific classes only.

InternalTraceWriter

A trace listener that writes to a separate file per domain and process using it.

InvalidDataSourceException

InvalidTestFixtureException is thrown when an appropriate test fixture constructor using the provided arguments cannot be found.

InvalidTestFixtureException

InvalidTestFixtureException is thrown when an appropriate test fixture constructor using the provided arguments cannot be found.

Logger

Provides internal logging to the NUnit framework

MethodWrapper

The MethodWrapper class wraps a MethodInfo so that it may be used in a platform-independent manner.

NUnitException

Thrown when an assertion failed. Here to preserve the inner exception and hence its stack trace.

OSPlatform

OSPlatform represents a particular operating system platform

ParameterWrapper

The ParameterWrapper class wraps a ParameterInfo so that it may be used in a platform-independent manner.

ParameterizedFixtureSuite

ParameterizedFixtureSuite serves as a container for the set of test fixtures created from a given Type using various parameters.

ParameterizedMethodSuite

ParameterizedMethodSuite holds a collection of individual TestMethods with their arguments applied.

PlatformHelper

PlatformHelper class is used by the PlatformAttribute class to determine whether a platform is supported.

PropertyBag

A PropertyBag represents a collection of name value pairs that allows duplicate entries with the same key. Methods are provided for adding a new pair as well as for setting a key to a single value. All keys are strings but values may be of any type. Null values are not permitted, since a null entry represents the absence of the key.

PropertyNames

The PropertyNames class provides static constants for the standard property ids that NUnit uses on tests.

Randomizer

Randomizer returns a set of random values in a repeatable way, to allow re-running of tests if necessary. It extends the .NET Random class, providing random values for a much wider range of types.

The class is used internally by the framework to generate test case data and is also exposed for use by users through the TestContext.Random property.

Reflect

Helper methods for inspecting a type by reflection.

Many of these methods take ICustomAttributeProvider as an argument to avoid duplication, even though certain attributes can only appear on specific types of members, like MethodInfo or Type.

In the case where a type is being examined for the presence of an attribute, interface or named member, the Reflect methods operate with the full name of the member being sought. This removes the necessity of the caller having a reference to the assembly that defines the item being sought and allows the NUnit core to inspect assemblies that reference an older version of the NUnit framework.

RuntimeFramework

RuntimeFramework represents a particular version of a common language runtime implementation.

SetUpFixture

SetUpFixture extends TestSuite and supports Setup and TearDown methods.

StackFilter

StackFilter class is used to remove internal NUnit entries from a stack trace so that the resulting trace provides better information about the test.

StringUtil

Provides methods to support legacy string comparison methods.

Test

The Test abstract class represents a test within the framework.

TestAssembly

TestAssembly is a TestSuite that represents the execution of tests in a managed assembly.

TestCaseParameters

The TestCaseParameters class encapsulates method arguments and other selected parameters needed for constructing a parameterized test case.

TestCaseResult

Represents the result of running a single test case.

TestCaseTimeoutException

TestCaseTimeoutException is thrown when a test running directly on a TestWorker thread is cancelled due to timeout.

TestExecutionContext

Helper class used to save and restore certain static or singleton settings in the environment that affect tests or which might be changed by the user tests.

TestExecutionContext.AdhocContext

An AdhocTestExecutionContext is created whenever a context is needed but not available in CurrentContext. This happens when tests are run on an ad-hoc basis or Asserts are used outside of tests.

TestExecutionContext.IsolatedContext

An IsolatedContext is used when running code that may effect the current result in ways that should not impact the final result of the test. A new TestExecutionContext is created with an initially clear result, which is discarded on exiting the context.

TestFilter

Interface to be implemented by filters applied to tests. The filter applies when running the test, after it has been loaded, since this is the only time an ITest exists.

TestFixture

TestFixture is a surrogate for a user test fixture class, containing one or more tests.

TestFixtureParameters

The TestCaseParameters class encapsulates method arguments and other selected parameters needed for constructing a parameterized test case.

TestListener

TestListener provides an implementation of ITestListener that does nothing. It is used only through its NULL property.

TestMethod

The TestMethod class represents a Test implemented as a method.

TestNameGenerator

TestNameGenerator is able to create test names according to a coded pattern.

TestParameters

TestParameters is the abstract base class for all classes that know how to provide data for constructing a test.

TestProgressReporter

TestProgressReporter translates ITestListener events into the async callbacks that are used to inform the client software about the progress of a test run.

TestResult

The TestResult class represents the result of a test.

TestSuite

TestSuite represents a composite test, which contains other tests.

TestSuiteResult

Represents the result of running a test suite

TextMessageWriter

TextMessageWriter writes constraint descriptions and messages in displayable form as a text stream. It tailors the display of individual message components to form the standard message format of NUnit assertion failure messages.

ThreadUtility

ThreadUtility provides a set of static methods convenient for working with threads.

TypeHelper

TypeHelper provides static methods that operate on Types.

TypeNameDifferenceResolver

Used for resolving the type difference between objects.

TypeWrapper

The TypeWrapper class wraps a Type so it may be used in a platform-independent manner.

Interfaces

ILogger

Interface for logging within the engine

Enums

InternalTraceLevel

InternalTraceLevel is an enumeration controlling the level of detailed presented in the internal log.

OSPlatform.ProductType

Product Type Enumeration used for Windows

RuntimeType

Enumeration identifying a common language runtime implementation.

TestExecutionStatus

Enumeration indicating whether the tests are running normally or being cancelled.