JUnit集成

Moco利用JUnit中的测试规则来简化JUnit集成。 MocoJunitRunner提供了多种方法来运行Moco服务器作为测试规则,它可以在测试之前启动Moco服务器,并在测试后停止。

HTTP Server

POJO HTTP Server

httpRunner可以引用一个HttpServer对象。

    public class MocoJunitPojoHttpRunnerTest {
      private static HttpServer server;

      static {
        server = httpServer(12306);
        server.response("foo");
      }

      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.httpRunner(server);

      ...
    }

JSON HTTP Server

jsonHttpRunner可以将JSON文件引用作为HTTP服务器。

    public class MocoJunitJsonHttpRunnerTest {
      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.jsonHttpRunner(12306, "foo.json");

      ...
    }

JSON配置可以从classpath中检索。

    public class MocoJunitJsonHttpRunnerTest {
      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.jsonHttpRunner(12306, Moco.pathResource("foo.json"));

      ...
    }

HTTPS Server

POJO HTTPS服务器

httpsRunner可以引用一个HttpsServer对象。

    public class MocoJunitPojoHttpRunnerTest {
      private static final HttpsCertificate DEFAULT_CERTIFICATE = certificate(pathResource("cert.jks"), "mocohttps", "mocohttps");
      private static HttpServer server;

      static {
        server = httpsServer(12306, DEFAULT_CERTIFICATE);
        server.response("foo");
      }

      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.httpsRunner(server);

      ...
    }

JSON HTTPS Server

jsonHttpsRunner可以将JSON文件引用为HTTP服务器。

    public class MocoJunitJsonHttpRunnerTest {
      private static final HttpsCertificate DEFAULT_CERTIFICATE = certificate(pathResource("cert.jks"), "mocohttps", "mocohttps");
      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.jsonHttpsRunner(12306, "foo.json", DEFAULT_CERTIFICATE);

      ...
    }

JSON配置可以从classpath中检索。

    public class MocoJunitJsonHttpRunnerTest {
      private static final HttpsCertificate DEFAULT_CERTIFICATE = certificate(pathResource("cert.jks"), "mocohttps", "mocohttps");
      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.jsonHttpsRunner(12306, Moco.pathResource("foo.json"), DEFAULT_CERTIFICATE);

      ...
    }

Socket Server

POJO Socket Server

socketRunner可以引用SocketServer对象。

    public class MocoJunitPojoSocketRunnerTest {
      private static SocketServer server;

      static {
        server = socketServer(12306);
        server.response("bar\n");
      }

      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.socketRunner(server);

      ...
    }

JSON Socket Server

jsonHttpRunner可以将JSON文件引用为Socket服务器。

    public class MocoJunitJsonSocketRunnerTest {
      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.jsonSocketRunner(12306, "foo.json");

      ...
    }

JSON配置可以从classpath中检索。

    public class MocoJunitJsonHttpRunnerTest {
      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.jsonSocketRunner(12306, Moco.pathResource("foo.json"));

      ...
    }

Rest Server

POJO Rest Server

restRunner可以引用RestServer对象。

    public class MocoJunitPojoRestRunnerTest {
      private static RestServer server;

      static {
        server = restServer(12306);
        server.resource("targets",
          post().response(status(201), header("Location", "/targets/123"))
        );
      }

      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.restRunner(server);

      ...
    }

JSON Rest Server

jsonRestRunner可以将JSON文件引用为HTTP服务器。

    public class MocoJunitJsonRestRunnerTest {
      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.jsonRestRunner(12306, "rest.json");

      ...
    }

JSON配置可以从classpath中检索。

    public class MocoJunitJsonRestRunnerTest {
      @Rule
      public MocoJunitRunner runner = MocoJunitRunner.jsonRestRunner(12306, Moco.pathResource("foo.json"));

      ...
    }
Copyright © www.gitbook.com/@vitzhou 2016 all right reserved,powered by Gitbook该文件修订时间: 2018-02-07 08:17:48

results matching ""

    No results matching ""