Revision: 923
          http://jwebunit.svn.sourceforge.net/jwebunit/?rev=923&view=rev
Author:   henryju
Date:     2011-09-23 14:52:27 +0000 (Fri, 23 Sep 2011)
Log Message:
-----------
It is now possible to run each test individually (in Eclipse, I first have to 
run the full test suite, but after I can select which individual test or 
package I want re-run).

Modified Paths:
--------------
    
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/JWebUnitAPITestCase.java
    
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/JettySetup.java
    
trunk/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/JWebUnitTest.java
    
trunk/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/RefreshHandlerTest.java
    
trunk/jwebunit-selenium-plugin/src/test/java/net/sourceforge/jwebunit/selenium/JWebUnitTest.java

Modified: 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/JWebUnitAPITestCase.java
===================================================================
--- 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/JWebUnitAPITestCase.java
  2011-09-23 14:50:45 UTC (rev 922)
+++ 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/JWebUnitAPITestCase.java
  2011-09-23 14:52:27 UTC (rev 923)
@@ -18,6 +18,8 @@
  */
 package net.sourceforge.jwebunit.tests;
 
+import net.sourceforge.jwebunit.tests.util.JettySetup;
+
 import java.lang.reflect.InvocationTargetException;
 
 import org.junit.After;
@@ -35,7 +37,7 @@
  * 
  * @author Nicholas Neuberger
  */
-public abstract class JWebUnitAPITestCase {
+public abstract class JWebUnitAPITestCase extends JettySetup {
 
     protected static final Object[] NOARGS = new Object[0];
 

Modified: 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/JettySetup.java
===================================================================
--- 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/JettySetup.java
      2011-09-23 14:50:45 UTC (rev 922)
+++ 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/JettySetup.java
      2011-09-23 14:52:27 UTC (rev 923)
@@ -45,6 +45,8 @@
         * The Jetty server we are going to use as test server.
         */
        private static Server jettyServer = null;
+       
+       private static boolean started = false;
 
 
        /**
@@ -54,62 +56,61 @@
         * @see junit.extensions.TestSetup#setUp()
         */
        @BeforeClass
-       public static void setUp() throws Exception {
-               try {
-                       jettyServer = new Server();
-                       SelectChannelConnector connector = new 
SelectChannelConnector();
-            connector.setPort(JWebUnitAPITestCase.JETTY_PORT);
-            connector.setAcceptors(5);
-                       connector.setPort(JWebUnitAPITestCase.JETTY_PORT);
-                       jettyServer.setConnectors(new Connector[] { connector 
});
-
-                       WebAppContext wah = new WebAppContext();
-                       
-                       // Handle files encoded in UTF-8
-                       MimeTypes mimeTypes = new MimeTypes();
-                       mimeTypes.addMimeMapping("html_utf-8", "text/html; 
charset=UTF-8");
-            mimeTypes.addMimeMapping("txt", "text/plain");
-            mimeTypes.addMimeMapping("bin", "application/octet-stream");
-                       wah.setMimeTypes(mimeTypes);
-                       
-                       
-                       HandlerCollection handlers= new HandlerCollection();
-                       handlers.setHandlers(new Handler[]{wah, new 
DefaultHandler()});
-
-                       jettyServer.setHandler(wah);
-                       HashLoginService myrealm = new 
HashLoginService("MyRealm");
-                       URL config = 
JettySetup.class.getResource("/jetty-users.properties");
-                       myrealm.setConfig(config.toString());
-                       jettyServer.addBean(myrealm);
-                       
-                       wah.setContextPath(JWebUnitAPITestCase.JETTY_URL);
-
-                       URL url = JettySetup.class.getResource("/testcases/");
-                       wah.setWar(url.toString());
-                       
-                       jettyServer.start();
-
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       fail("Could not start the Jetty server: " + e);
-               }
+       public static void startup() throws Exception {
+           if (!started) {
+               try {
+                       jettyServer = new Server();
+                       SelectChannelConnector connector = new 
SelectChannelConnector();
+                connector.setPort(JWebUnitAPITestCase.JETTY_PORT);
+                connector.setAcceptors(5);
+                       connector.setPort(JWebUnitAPITestCase.JETTY_PORT);
+                       jettyServer.setConnectors(new Connector[] { connector 
});
+    
+                       WebAppContext wah = new WebAppContext();
+                       
+                       // Handle files encoded in UTF-8
+                       MimeTypes mimeTypes = new MimeTypes();
+                       mimeTypes.addMimeMapping("html_utf-8", "text/html; 
charset=UTF-8");
+                mimeTypes.addMimeMapping("txt", "text/plain");
+                mimeTypes.addMimeMapping("bin", "application/octet-stream");
+                       wah.setMimeTypes(mimeTypes);
+                       
+                       
+                       HandlerCollection handlers= new HandlerCollection();
+                       handlers.setHandlers(new Handler[]{wah, new 
DefaultHandler()});
+    
+                       jettyServer.setHandler(wah);
+                       HashLoginService myrealm = new 
HashLoginService("MyRealm");
+                       URL config = 
JettySetup.class.getResource("/jetty-users.properties");
+                       myrealm.setConfig(config.toString());
+                       jettyServer.addBean(myrealm);
+                       
+                       wah.setContextPath(JWebUnitAPITestCase.JETTY_URL);
+    
+                       URL url = JettySetup.class.getResource("/testcases/");
+                       wah.setWar(url.toString());
+                       
+                       jettyServer.start();
+                       
+                       started = true;
+    
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail("Could not start the Jetty server: " + e);
+               }
+           }
        }
-
-       /**
-        * Stops the Jetty server.
-        * 
-        * @see junit.extensions.TestSetup#tearDown()
-        */
-       @AfterClass
-       public static void tearDown() throws Exception {
-               try {
-                       jettyServer.stop();
-               } catch (InterruptedException e) {
-                       e.printStackTrace();
-                       fail("Jetty server was interrupted: " + e);
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       fail("Could not stop the Jetty server: " + e);
-               }
-       }
+       
+       protected static void shutdown() throws Exception {
+        try {
+            jettyServer.stop();
+            started = false;
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+            fail("Jetty server was interrupted: " + e);
+        } catch (Exception e) {
+            e.printStackTrace();
+            fail("Could not stop the Jetty server: " + e);
+        }
+    }
 }

Modified: 
trunk/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/JWebUnitTest.java
===================================================================
--- 
trunk/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/JWebUnitTest.java
    2011-09-23 14:50:45 UTC (rev 922)
+++ 
trunk/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/JWebUnitTest.java
    2011-09-23 14:52:27 UTC (rev 923)
@@ -19,6 +19,8 @@
 
 package net.sourceforge.jwebunit.htmlunit;
 
+import org.junit.AfterClass;
+
 import net.sourceforge.jwebunit.tests.ButtonAssertionsTest;
 import net.sourceforge.jwebunit.tests.CharsetTest;
 import net.sourceforge.jwebunit.tests.CustomTesterTest;
@@ -85,5 +87,10 @@
     ConcurrentJWebUnitTest.class
 })
 public class JWebUnitTest extends JettySetup {
+   
+    @AfterClass
+    public static void tearDown() throws Exception {
+        shutdown();
+    }
     
 }

Modified: 
trunk/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/RefreshHandlerTest.java
===================================================================
--- 
trunk/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/RefreshHandlerTest.java
      2011-09-23 14:50:45 UTC (rev 922)
+++ 
trunk/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/RefreshHandlerTest.java
      2011-09-23 14:52:27 UTC (rev 923)
@@ -18,21 +18,20 @@
  */
 package net.sourceforge.jwebunit.htmlunit;
 
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import net.sourceforge.jwebunit.tests.JWebUnitAPITestCase;
-import net.sourceforge.jwebunit.tests.util.JettySetup;
-import net.sourceforge.jwebunit.htmlunit.HtmlUnitTestingEngineImpl;
 import com.gargoylesoftware.htmlunit.ThreadedRefreshHandler;
 import com.gargoylesoftware.htmlunit.WaitingRefreshHandler;
+import net.sourceforge.jwebunit.tests.JWebUnitAPITestCase;
+import org.junit.Test;
 
-import static net.sourceforge.jwebunit.junit.JWebUnit.*;
-import static org.junit.Assert.*;
+import static net.sourceforge.jwebunit.junit.JWebUnit.beginAt;
+import static net.sourceforge.jwebunit.junit.JWebUnit.getTestContext;
+import static net.sourceforge.jwebunit.junit.JWebUnit.getTestingEngine;
+import static net.sourceforge.jwebunit.junit.JWebUnit.setBaseUrl;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
- * Unit test to validate JWEbUnit's HtmlUnit plugin will now allow for custom
+ * Unit test to validate JWebUnit's HtmlUnit plugin will now allow for custom
  * RefreshHandler to be passed in prior to initialization, as well as changed 
on
  * the fly.
  * 
@@ -40,16 +39,6 @@
  * @author Jason McSwain
  */
 public class RefreshHandlerTest extends JWebUnitAPITestCase {
-    
-    @BeforeClass
-    public static void startJetty() throws Exception {
-        JettySetup.setUp();
-    }
-    
-    @AfterClass
-    public static void stopJetty() throws Exception {
-        JettySetup.tearDown();
-    }
 
     @Test
        public void testDefaultRefreshHandler() throws Exception {

Modified: 
trunk/jwebunit-selenium-plugin/src/test/java/net/sourceforge/jwebunit/selenium/JWebUnitTest.java
===================================================================
--- 
trunk/jwebunit-selenium-plugin/src/test/java/net/sourceforge/jwebunit/selenium/JWebUnitTest.java
    2011-09-23 14:50:45 UTC (rev 922)
+++ 
trunk/jwebunit-selenium-plugin/src/test/java/net/sourceforge/jwebunit/selenium/JWebUnitTest.java
    2011-09-23 14:52:27 UTC (rev 923)
@@ -18,6 +18,8 @@
  */
 package net.sourceforge.jwebunit.selenium;
 
+import org.junit.AfterClass;
+
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
 
@@ -63,4 +65,8 @@
 })
 public class JWebUnitTest extends JettySetup {
 
+    @AfterClass
+    public static void tearDown() throws Exception {
+        shutdown();
+    }
 }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
JWebUnit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development

Reply via email to