var rest = require('restler');
var assert = require("assert");
var systemID;
var userID;

console.log('--------------------------------------');
console.log('SYSTEM TEST START ..');
console.log('--------------------------------------');

describe('system',function(){
  it('增加',function(done){
    rest
      .post('http://127.0.0.1:1337/system/',{data:{system:'test',uri:'http://test.com'}})
      .on('complete', function(result) {
        "use strict";
        assert.equal('test',result.result.system);
        assert.equal('http://test.com',result.result.uri);
        systemID = result.result.id;
        done();
      });
  });
  it('修改',function(done){
    rest
      .put('http://127.0.0.1:1337/system/'+systemID,{data:{system:'test',uri:'http://test2.com'}})
      .on('complete', function(result) {
        "use strict";
        //console.log(result);
        assert.equal('test',result.result.system);
        assert.equal('http://test2.com',result.result.uri);
        done();
      });
  });
  it('查看',function(done){
    rest
      .get('http://127.0.0.1:1337/system/')
      .on('complete', function(result) {
        "use strict";
        assert.equal('test',result.result[result.result.length - 1].system);
        assert.equal('http://test2.com',result.result[result.result.length - 1].uri);
        done();
      });
  });
  it('删除',function(done){
    rest
      .del('http://127.0.0.1:1337/system/'+systemID)
      .on('complete', function(result) {
        "use strict";
        assert.equal('test',result.result.system);
        assert.equal('http://test2.com',result.result.uri);
        done();
      });
  });
});

describe('user',function(){
  it('增加',function(done){
    rest
      .post('http://127.0.0.1:1337/user/',{data:{email:'test@test.com',passwd:'test'}})
      .on('complete', function(result) {
        "use strict";
        assert.equal('test@test.com',result.result.email);
        userID = result.result.id;
        done();
      });
  });
  it('修改',function(done){
    rest
      .put('http://127.0.0.1:1337/user/'+userID,{data:{email:'test2@test.com'}})
      .on('complete', function(result) {
        "use strict";
        //console.log(result);
        assert.equal('test2@test.com',result.result.email);
        done();
      });
  });
  it('查看',function(done){
    rest
      .get('http://127.0.0.1:1337/user/')
      .on('complete', function(result) {
        "use strict";
        assert.equal('test2@test.com',result.result[result.result.length - 1].email);
        done();
      });
  });
  it('删除',function(done){
    rest
      .del('http://127.0.0.1:1337/user/'+userID)
      .on('complete', function(result) {
        "use strict";
        assert.equal('test2@test.com',result.result.email);
        done();
      });
  });
});

与你相遇好幸运,mocha接口测试的更多相关文章

  1. nodejs+supertest+mocha 接口测试环境搭建

    系统接口自动化测试 该框架用于对系统的接口自动化测试(nodejs+supertest+mocha)Homebrew 安装: ruby -e "$(curl -fsSL {+}https:/ ...

  2. 与你相遇好幸运,服务器node环境安装

    >服务器更改root密码 sudo passwd root >服务器ubuntu安装ssh apt-get install openssh-server >服务器开启root用户密码 ...

  3. 与你相遇好幸运,My Toolkit of Nodejs

    >测试:restler.mocha.assert.request.request-promise >安装:nrm >运维:pm2.node-gyp >开发:nodemon.in ...

  4. 与你相遇好幸运,使用redis设置定时任务

    参考链接: Nodejs中使用Redis来完成定时任务 自己在 window 7下编码实现: 1 > 首先查看redis版本: redis-server -v , 版本要求大于等于2.8 2&g ...

  5. 与你相遇好幸运,制作自己的Yeoman Generator

    使用别人写好的生成器: npm install -g yonpm install -g generator-angularyo angular 如何自己制作符合自己心仪的生成器呢: https://g ...

  6. 与你相遇好幸运,gen8安装

    gen8到手后,立马去买了 SSD https://item.jd.com/2010277.html 支架 https://item.jd.com/2671609.html NAS盘 https:// ...

  7. 与你相遇好幸运,德淘gen8历程

    应该是十月底了 , 在浏览色魔张大妈(smzdm) http://www.smzdm.com/p/6517684/ 的时候看见了这个 , 以前大学就想买个这个 , 苦于没钱.... 然后当时打算买 , ...

  8. 与你相遇好幸运,用sinopia搭建npm私服

    需求: >在企业内部搭建私有npm服务器,企业开发人员上传下载自己开发的npm包 >私有npm服务器包不存在时,找npm或者taobao的镜像站点 >服务器硬盘有限,希望只缓存下载过 ...

  9. 与你相遇好幸运,Postman设置Header不生效问题解决

    POstMan安装地址 安装完 , Postman 设置Header的Referer不生效 , 提示 Restricted Header (use postman interceptor) 时 , 要 ...

随机推荐

  1. ipvsadm命令

    NAME ipvsadm - Linux Virtual Server administration SYNOPSIS ipvsadm -A|E -t|u|f service-address [-s ...

  2. [转]ExtJS之遍历Store

    原文地址:http://blog.sina.com.cn/s/blog_67cc6e7d0100ox6u.html ExtJS中,一般很少需要遍历Store,因为它的selectModel很好用,无论 ...

  3. C#-WinForm-Treeview-树状模型

    Treeview - 树状模型 利用递归添加数据 数据放入 treeView1.Nodes.Add() 中 public Form3() { InitializeComponent(); TreeNo ...

  4. js获取当前坐标

    <script type="text/javascript"> var position_option = {enableHighAccuracy: false,max ...

  5. unity知识点思维导图

    写了个思维导图,总结了下学习unity的知识点感觉还有其他很多的没写到,等我慢慢在工作中完善它,这是下面的链接,后续会根据他的每一个细节来丰富我的博客. 详细地址: http://naotu.baid ...

  6. Debugging D Program on Windows

    http://x64dbg.com/ http://www.ollydbg.de/version2.html

  7. ecshop 支付

    支付分成两部分 1.订单信息 2.支付日志ID 3.生成支付代码 一次性支付完成 // 支付信息 include_once('includes/lib_payment.php'); $order['l ...

  8. yii2 伪静态配置

    原文地址: http://gblz.net/2015/242.html https://segmentfault.com/q/1010000003804408

  9. Android接入支付宝和银联

    支付宝接入参考链接:https://software.intel.com/zh-cn/node/542608 银联接入参考链接:http://blog.csdn.net/gf771115/articl ...

  10. [NHibernate]集合类(Collections)映射

    系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) [NHibernate ...