com.google.appengine.tools.development.testing
Class DevAppServerTestRunner

java.lang.Object
  extended by BlockJUnit4ClassRunner
      extended by com.google.appengine.tools.development.testing.DevAppServerTestRunner

public class DevAppServerTestRunner
extends BlockJUnit4ClassRunner

A JUnit4 test runner that runs tests in the isolated classloader of a running app engine app. Test classes that are run with this test runner must also be annotated with DevAppServerTest. For example:

 @RunWith(DevAppServerTestRunner.class)
 @DevAppServerTest(MyTest.TestConfig.class)
 public void MyTest {

   private final LocalServiceTestHelper testHelper = new LocalServiceTestHelper(
     new LocalURLFetchServiceTestConfig(), new LocalDatastoreServiceTestConfig());

   public static class TestConfig extends BaseDevAppServerTestConfig {

     public File getSdkRoot() {
       return sdkRoot;
     }

     public File getAppDir() {
       return appDir;
     }

     public List getClasspath() {
       return urls;
     }
   }

   @Before
   public void setUpHelper() {
     testHelper.setUp();
   }

   @After
   public void tearDownHelper() {
     testHelper.tearDown();
   }

   @Test
   public void testEndToEnd() throws Exception {
     URLFetchService fetchService = URLFetchServiceFactory.getURLFetchService();
     HTTPResponse resp = fetchService.fetch(new URL("http://localhost:" +
       System.getProperty(DevAppServerTest.DEFAULT_PORT_SYSTEM_PROPERTY) + "/insertFoo?id=33"));
     assertEquals(200, resp.getResponseCode());
     DatastoreServiceFactory.getDatastoreService().get(KeyFactory.createKey("foo", 33));
   }
 }
 


Constructor Summary
DevAppServerTestRunner(java.lang.Class<?> klass)
           
 
Method Summary
protected  void collectInitializationErrors(java.util.List<java.lang.Throwable> errors)
           
protected  Statement withAfterClasses(Statement statement)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DevAppServerTestRunner

public DevAppServerTestRunner(java.lang.Class<?> klass)
                       throws InitializationError
Throws:
InitializationError
Method Detail

collectInitializationErrors

protected void collectInitializationErrors(java.util.List<java.lang.Throwable> errors)

withAfterClasses

protected Statement withAfterClasses(Statement statement)