moco 接口测试
帮助文档:https://github.com/dreamhead/moco/blob/master/moco-doc/usage.md#dependency
https://github.com/dreamhead/moco/blob/master/moco-doc/apis.md#composite-java-api-design
依赖:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.java.mock</groupId>
<artifactId>mocker</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.dreamhead</groupId>
<artifactId>moco-core</artifactId>
<!-- <version>1.0.0</version> -->
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
<version>4.5</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 确定jdk版本的编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
1、简单案例:创建一个简单的httpServer,用org.apache.http.client.fluent.Request发送请求
package mocker; import org.apache.http.client.fluent.Content; import org.apache.http.client.fluent.Request; import org.testng.annotations.Test; import com.github.dreamhead.moco.HttpServer; import com.github.dreamhead.moco.Moco; import com.github.dreamhead.moco.Runnable; import com.github.dreamhead.moco.Runner; public class Testnger { @Test public void should_response_as_expected() throws Exception { HttpServer server = Moco.httpServer(12306); server.response("hello laowang"); Runner.running(server, new Runnable() { @Override public void run() throws Exception { Content content = Request.Get("http://127.0.0.1:12306").execute().returnContent(); System.out.println(content.asString()); } }); Thread.sleep(1000000); } }
2、用Runner对象来管理Server
package mocker; import java.io.IOException; import java.nio.charset.Charset; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.fluent.Content; import org.apache.http.client.fluent.Request; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import com.github.dreamhead.moco.HttpServer; import com.github.dreamhead.moco.Moco; import com.github.dreamhead.moco.Runner; public class ControllServer { //用runner来管理服务器的开关 private Runner runner; @BeforeTest public void setUp(){ HttpServer server = Moco.httpServer(12306); server.response("foo"); //初始化runner对象 runner = Runner.runner(server); //开启服务器 runner.start(); } @Test public void testRequset() throws ClientProtocolException, IOException{ Content content = Request.Get("http://localhost:12306").execute().returnContent(); System.out.println(content.asString(Charset.forName("UTF-8"))); } @Test public void testRequset1() throws ClientProtocolException, IOException{ Content content = Request.Get("http://localhost:12306").execute().returnContent(); System.out.println(content.asString(Charset.forName("UTF-8"))); } @AfterTest public void tearDown(){ //关闭服务器 runner.stop(); } }
付出不亚于任何人,终将成功
浙公网安备 33010602011771号