views:

146

answers:

1

I'm using expectedExceptionsMessageRegExp annotation to test exception message, but the this is not executing correctly.please see the below code.

Unit Test code:

 @Test (dependsOnMethods = "test1", expectedExceptions = IllegalArgumentException.class ,
        expectedExceptionsMessageRegExp = "incorrect argument")
       public void testConverter()
      {
        try
        {
          currencyConverter  = Converter.convert(val1,val2)
        }

        catch (MYException e)
        {
          e.printStackTrace();
        }
      }

Application code:

   if (val1 == null || val1.length() == 0)
        {
          throw new IllegalArgumentException("Val1 is incorrect");
        }

The unit test code should check the exception message , if both message are not matching , it should throw fail (unit test failed) .

At present this is not happening , Am i doing something wrong?

+1  A: 

Hi,

This seems to work for me:

org.testng.TestException: The exception was thrown with the wrong message: expected "incorrect argument" but got "val1 is incorrect"

Can you post a simple class showing the problem? (either here or on the testng-users mailing-list)

Cedric Beust