è un problema :-)

[TestMethod]
public void ExceptionTestWrapper_Try_using_non_buggy_code_should_not_fail()
{
    Tester.Expecting<ArgumentNullException>( "expectedParamName" ).Try( () =>
    {
        new ClassUnderTest( null );
    } );
}

[TestMethod]
[ExpectedException( typeof( AssertFailedException ) )]
public void ExceptionTestWrapper_Try_using_non_buggy_code_but_with_wrong_expected_paramName_should_fail()
{
    Tester.Expecting<ArgumentNullException>( "invalidParamName" ).Try( () =>
    {
        new ClassUnderTest( null );
    } );
}

[TestMethod]
[ExpectedException( typeof( AssertFailedException ) )]
public void ExceptionTestWrapper_Try_using_buggy_code_should_fail()
{
    Tester.Expecting<ArgumentNullException>( "expectedParamName" ).Try( () =>
    {
        new ClassUnderTest( "this is a valid value for the target." );
    } );
}

questi sono 3 test di un micro framework di test che uso, non è stato semplice scriverli perchè i test devono fallire quando il codice si comporta come ci si aspetta… insomma l’esatto opposto di quello che ci aspetteremmo da un test :-)

.m