Throw an error by default, but it is configurable.
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 17 Dec 2007 09:31:59 +0000 (09:31 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 17 Dec 2007 09:31:59 +0000 (09:31 +0000)
ASSIGNED - bug 42: Exception should be thrown when ERROR in running unit tests
https://www.argeo.org/bugzilla/show_bug.cgi?id=42

git-svn-id: https://svn.argeo.org/slc/trunk@872 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestResult.java
org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java
org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResultPart.java

index 9ef6cdea3e95da55b9c351b625be73b2f62de92b..a89ffe7370c718636bba02634db79ec8f55a0c22 100644 (file)
@@ -7,17 +7,25 @@ import java.util.Vector;
 import org.apache.commons.logging.Log;\r
 import org.apache.commons.logging.LogFactory;\r
 \r
+import org.argeo.slc.core.SlcException;\r
+\r
 /**\r
  * Basic implementation of a test result containing only a list of result parts.\r
  */\r
 public class SimpleTestResult implements TestResult {\r
        private static Log log = LogFactory.getLog(SimpleTestResult.class);\r
 \r
+       private Boolean throwError = true;\r
+\r
        private TestResultId testResultId;\r
        private Date closeDate;\r
        private List<TestResultPart> parts = new Vector<TestResultPart>();\r
 \r
        public void addResultPart(TestResultPart part) {\r
+               if (throwError && part.getStatus() == ERROR) {\r
+                       throw new SlcException("There was an error in the underlying test",\r
+                                       part.getException());\r
+               }\r
                parts.add(part);\r
                if (log.isDebugEnabled())\r
                        log.debug(part);\r
@@ -45,4 +53,8 @@ public class SimpleTestResult implements TestResult {
                return closeDate;\r
        }\r
 \r
+       public void setThrowError(Boolean throwError) {\r
+               this.throwError = throwError;\r
+       }\r
+\r
 }\r
index 860fe1caf5bb46deb584c03024f1106854c8264d..d865d62b2c9a9aeaf1a73094ad88a3a9497e9888 100644 (file)
@@ -3,7 +3,7 @@ package org.argeo.slc.core.test;
 import java.util.Date;\r
 \r
 /** The result of a test */\r
-public interface TestResult {\r
+public interface TestResult extends TestStatus {\r
        /** Gets the id of the related test result. */\r
        public TestResultId getTestResultId();\r
 \r
index 707c00f3b8aaa05a037b41f1e0bdfbd0f7b50825..8886413873ed9e7239610b4328e9e81054878673 100644 (file)
@@ -6,7 +6,12 @@ package org.argeo.slc.core.test;
  * @see TestResult\r
  */\r
 public interface TestResultPart {\r
+       /** The status, as defined in {@link TestStatus}. */\r
        public Integer getStatus();\r
 \r
+       /** The related message. */\r
        public String getMessage();\r
+\r
+       /** The underlying <code>Exception</code>. Can be null. */\r
+       public Exception getException();\r
 }\r