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();
        
    }

}

 

posted @ 2020-04-07 09:53  ChenduLaoWang  阅读(436)  评论(0)    收藏  举报