Click or drag to resize

TestFixture Class

Abstract test fixture base class.
Inheritance Hierarchy

Namespace:  Neon.Xunit
Assembly:  Neon.Xunit (in Neon.Xunit.dll) Version: 2.14.0
public abstract class TestFixture : ITestFixture, 

The TestFixture type exposes the following members.

Public methodTestFixture
Constructs the fixture.
Protected propertyInAction
Returns true if the Start(Action) method is running.
Protected propertyIsDisposed
Returns true if the instance has been disposed.
Public propertyIsRunning
Returns true if the fixture has been initialized.
Public propertyState
Used by unit test classes to persist arbitrary name/value information across individual unit tests.
Protected methodCheckDisposed
Verifies that the fixture instance has not been disposed.
Protected methodCheckWithinAction
Verifies that the fixture instance's Start(Action) method is executing.
Public methodDispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Protected methodDispose(Boolean)
Releases all associated resources.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
(Overrides ObjectFinalize.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodOnRestart

Called when an already started fixture is being restarted. This provides the fixture an opportunity to do some custom initialization. This base method does nothing.

Note Note
This method is intended only for use by test fixture implementations. Unit tests or test fixtures should never call this directly.
Public methodReset
INTERNAL USE ONLY: Resets the fixture state.
Public methodStart
Starts the fixture if it hasn't already been started including invoking the optional Action when the first time Start(Action) is called for a fixture instance.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Note Note

IMPORTANT: The base Neon TestFixture implementation DOES NOT support parallel test execution because fixtures may impact global machine state like starting a Docker container, modifying the local DNS hosts file, configuring environment variables or initializing a test database.

You should explicitly disable parallel execution in all test assemblies that rely on test fixtures by adding a C# file called AssemblyInfo.cs with:

[assembly: CollectionBehavior(DisableTestParallelization = true, MaxParallelThreads = 1)]

and then define your test classes like:

public class MyTests
    [CollectionDefinition(TestCollection.NonParallel, DisableParallelization = true)]
    public void Test()

Test fixtures that modify global machine or other environmental state must implement a public static void EnsureReset() method resets the state to reasonable defaults. These will be reflected and called when the first TestFixture is created by the test runner for every test class.

Thread Safety
Instance members of this type are safe for multi-threaded operations.
See Also
Inheritance Hierarchy