#TestsEx (Sharp Tests Extensions) is a set of extensible extensions
to work with various unit test frameworks (NUnit, xUnit, MsTests, MbUnit). The main target is write short assertions where the
IDE intellisense is your guide.
The entry point of each assertion
is the method Should()
or its override
where the parameter is the title of the assertion (the message
in MsTests terminology). After
the intellisense become "your friend".
In general, each assertion
allow negation (Should().Not.
) and chain through
Negation and .And.
chain are available only where it has sense.
Where the assertion
imply a cast, the additional property And.ValueOf.
is available to begin a new
based on one of the properties of casted original actual
value (available in
Object instance assertion
#TestsEx is so easy to extend that, the mayor part of its assertions, was implemented using extension points.
public static class ClassConstraintsExtensions
public static IAndConstraints<IClassConstraints> InstanceOf<T>(this IClassBeConstraints constraint)
constraint.AssertionInfo.AssertUsing(new Assertion<object, object>(Properties.Resources.PredicateBeInstanceOf,
a => a != null && typeof (T).IsInstanceOfType(a)));
Lambda/LINQ based Assertions
How use Version1.0 with Visual Studio 2010