[testng] 74/160: Refactor ExpectedExceptionsHolder

Eugene Zhukov eugene-guest at moszumanska.debian.org
Tue Aug 18 10:22:23 UTC 2015


This is an automated email from the git hooks/post-receive script.

eugene-guest pushed a commit to annotated tag testng-6.9.5
in repository testng.

commit c50c280b710dc2a33f76f24382242d07e74a268a
Author: Julien Herr <julien.herr at alcatel-lucent.com>
Date:   Thu Jun 4 13:19:35 2015 +0200

    Refactor ExpectedExceptionsHolder
---
 .../testng/internal/ExpectedExceptionsHolder.java  | 24 +++++++++++-----------
 src/main/java/org/testng/internal/Invoker.java     | 24 ++++++++--------------
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/src/main/java/org/testng/internal/ExpectedExceptionsHolder.java b/src/main/java/org/testng/internal/ExpectedExceptionsHolder.java
index 8fbd6fa..e497e3d 100755
--- a/src/main/java/org/testng/internal/ExpectedExceptionsHolder.java
+++ b/src/main/java/org/testng/internal/ExpectedExceptionsHolder.java
@@ -38,7 +38,7 @@ public class ExpectedExceptionsHolder {
     Class<?> realExceptionClass= ite.getClass();
 
     for (Class<?> exception : expectedClasses) {
-      if (exception.isAssignableFrom(realExceptionClass)) {
+      if (exception.isAssignableFrom(realExceptionClass) && messageRegExpMatches(ite)) {
         return true;
       }
     }
@@ -60,19 +60,19 @@ public class ExpectedExceptionsHolder {
     }
   }
 
-  public TestException buildTestException(Throwable ite) {
-    return new TestException("The exception was thrown with the wrong message:" +
-                      " expected \"" + messageRegExp + "\"" +
-                      " but got \"" + ite.getMessage() + "\"", ite);
-  }
-
-  public TestException buildTestExceptionPluralize(Throwable ite) {
-    return new TestException("Expected exception of " +
-                             getExpectedExceptionsPluralize()
-                             + " but got " + ite, ite);
+  public TestException wrongException(Throwable ite) {
+    if (messageRegExpMatches(ite)) {
+      return new TestException("Expected exception of " +
+                               getExpectedExceptionsPluralize()
+                               + " but got " + ite, ite);
+    } else {
+      return new TestException("The exception was thrown with the wrong message:" +
+                               " expected \"" + messageRegExp + "\"" +
+                               " but got \"" + ite.getMessage() + "\"", ite);
+    }
   }
 
-  public TestException buildTestExceptionPluralize(ITestNGMethod testMethod) {
+  public TestException noException(ITestNGMethod testMethod) {
     if (expectedClasses == null || expectedClasses.length == 0) {
       return null;
     }
diff --git a/src/main/java/org/testng/internal/Invoker.java b/src/main/java/org/testng/internal/Invoker.java
index 00e696f..d44d6fe 100644
--- a/src/main/java/org/testng/internal/Invoker.java
+++ b/src/main/java/org/testng/internal/Invoker.java
@@ -3,14 +3,12 @@ package org.testng.internal;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.regex.Pattern;
 
 import org.testng.IClass;
 import org.testng.IConfigurable;
@@ -1371,30 +1369,24 @@ public class Invoker implements IInvoker {
       if (ite != null) {
 
         //  Invocation caused an exception, see if the method was annotated with @ExpectedException
-        if (expectedExceptionsHolder != null && expectedExceptionsHolder.isExpectedException(ite)) {
-          if (expectedExceptionsHolder.messageRegExpMatches(ite)) {
-            testResult.setStatus(ITestResult.SUCCESS);
-            status= ITestResult.SUCCESS;
-          }
-          else {
-            testResult.setThrowable(expectedExceptionsHolder.buildTestException(ite));
-            status= ITestResult.FAILURE;
-          }
+        if (expectedExceptionsHolder != null && !expectedExceptionsHolder.isExpectedException(ite)) {
+          testResult.setThrowable(expectedExceptionsHolder.wrongException(ite));
+          status= ITestResult.FAILURE;
         } else if (isSkipExceptionAndSkip(ite)){
           status = ITestResult.SKIP;
-        } else if (expectedExceptionsHolder != null) {
-          testResult.setThrowable(expectedExceptionsHolder.buildTestExceptionPluralize(ite));
-          status= ITestResult.FAILURE;
-        } else {
+        } else if (expectedExceptionsHolder == null) {
           handleException(ite, testMethod, testResult, failure.count++);
           handled = true;
           status = testResult.getStatus();
+        } else {
+          testResult.setStatus(ITestResult.SUCCESS);
+          status= ITestResult.SUCCESS;
         }
       }
 
       // No exception thrown, make sure we weren't expecting one
       else if(status != ITestResult.SKIP && expectedExceptionsHolder != null) {
-        TestException exception = expectedExceptionsHolder.buildTestExceptionPluralize(testMethod);
+        TestException exception = expectedExceptionsHolder.noException(testMethod);
         if (exception != null) {
           testResult.setThrowable(exception);
           status= ITestResult.FAILURE;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/testng.git



More information about the pkg-java-commits mailing list