首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从JUnit启动Google App Engine Java开发服务器?

如何从JUnit启动Google App Engine Java开发服务器?
EN

Stack Overflow用户
提问于 2016-04-08 04:59:03
回答 1查看 106关注 0票数 2

我想编写自动化测试,在本地开发web服务器上运行。针对底层服务(https://cloud.google.com/appengine/docs/java/tools/localunittesting)编写测试很容易,但我想测试我的整个堆栈。我可以使用Runtime.exec()启动和终止服务器,但我希望有人开发了一个更优雅的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2016-04-08 05:09:28

我在the Javadocs中找到了答案。使用DevAppServerTestRunner

代码语言:javascript
复制
@RunWith(DevAppServerTestRunner.class)
@DevAppServerTest(EndToEndTest.TestConfig.class)
public class EndToEndTest {

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

  public static class TestConfig extends BaseDevAppServerTestConfig {

    public File getSdkRoot() {
      return new File(...);
    }

    public File getAppDir() {
      return new File(...);
    }

    public List<URL> getClasspath() {
      return Arrays.asList(...);
    }
  }

  @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:8080/insertFoo?id=33"));
    Assert.assertEquals(200, resp.getResponseCode());
    DatastoreServiceFactory.getDatastoreService().get(KeyFactory.createKey("foo", 33));
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36487091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档