2010-04-14 11 views
3

J'utilise la propriété expectedExceptionsMessageRegExp sur l'annotation @Test pour tester un message d'exception, mais il ne s'exécute pas correctement. Voir le code ci-dessous.Comment tester expectedExceptionsMessageRegExp (message d'exception) en utilisant TestNG?

code de test unitaire:

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

Code d'application:

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

Le code de test unitaire doit vérifier le message d'exception, si les messages sont ne correspondent pas les uns des autres, le test devrait échouer.

Actuellement, cela ne se produit pas. Est-ce que je fais quelque chose de mal?

Répondre

5

Il semble fonctionner pour moi:

org.testng.TestException: L'exception a été lancée avec le mauvais message: attendu "argument incorrect" mais a "val1 est incorrect"

Pouvez-vous poster une classe simple montrant le problème? (soit ici, soit sur la liste de diffusion testng-users)