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

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.

InvalidTestFixtureException

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

Logger
MethodHelper

MethodHelper provides static methods for working with methods.

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

ParameterSet

ParameterSet encapsulates method arguments and other selected parameters needed for constructing a parameterized test case.

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.

RandomGenerator

RandomGenerator returns a set of random _values in a repeatable way, to allow re-running of tests if necessary.

This class is internal to the framework but exposed externally to through the TestContext the class is used to allow for obtaining repeatable random _values during a tests execution. this class should not be used inside the framework only with a TestMethod.

Randomizer

Randomizer returns a set of random _values in a repeatable way, to allow re-running of tests if necessary.

This class is an internal framework class used for setting up tests. It is used to generate random test parameters, at the time of loading the tests. It also generates seeds for use at execution time, when creating a RandomGenerator for use by the test.

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.

TestCaseResult

Represents the result of running a single test case.

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.

An internal class is used to hold settings and a stack of these objects is pushed and popped as Save and Restore are called.

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.

TestListener

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

TestMethod

The TestMethod class represents a Test implemented as a method.

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.

Interfaces

IApplyToContext

The IApplyToContext interface is implemented by attributes that want to make changes to the execution context before a test is run.

IApplyToTest

The IApplyToTest interface is implemented by self-applying attributes that modify the state of a test in some way.

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.