节点。js环境下Koa2添加特拉维斯ci持续集成工具的方法

  

  

因为最近使用koa2做项目测试开发,所以想整合下特拉维斯ci,网上资料也比较少,于是自己就整了个,做个记录。分享出来供大家参考学习、下面来看看详细的介绍吧。

  

  

先来看下travis.yml的配置

        语言:node_js   node_js:   ——“6”   before_script:   ——/node_modules/in/knex迁移:最新——knexfile='。/app/knexfile.js '   脚本:   ——npm运行测试      

因为是接口测试,所以首先需要做表创建等操作。

  

<强>测试的命令:

        NODE_ENV=生产NODE_CONFIG_DIR=薄?app/config/?node_modules/in/摩卡——需要“babel-polyfill”——编译器js: babel-register。/app/测试/* */* . js      

主要是测试这里,使用了supertest,大概看下是如何调用的。

        const请求=要求(“supertest”);   const=应该要求(“应该”);   const指数=要求(“. ./. ./指数”);      让应用程序=请求(index.listen ());      描述(/api/人,函数(){   让personId;      (' POST/api/人-创建个人成功和应对200年,函数(){   app.post (/api/人)   .send ({   “firstName”:“珍妮弗”,   “姓”:“劳伦斯”,   “年龄”:24   })   .expect (200)   .expect(函数(res) {   (res.body。id祝辞0).should.be.true;   })   指标(最终函数(呃,res) {   如果(err) {   返回(err);   }      让resJson=JSON.parse (res.text);   personId=resJson.id;      (完成);   })   });      它(的/api/者——获取项目的,函数(){   app.get (/api/人)   .expect (200)   .expect(函数(res) {   (res.body。长度比;0).should.be.true;   })   指标(最终函数(呃,res) {   如果(err) {   返回(err);   }      (完成);   })   });      (/api/人/:id -获取一个人的,函数(){   app.get ('/api/人/$ {personId} ')   .expect (200)   .expect(函数(res) {   (res.body。id==.should.be.true personId);   })   指标(最终函数(呃,res) {   如果(err) {   返回(err);   }      (完成);   })   });      (“删除/api/人/:id——删除一个人的,函数(){   app.delete ('/api/人/$ {personId} ')   .expect (200)   指标(最终函数(呃,res) {   如果(err) {   返回(err);   }      (完成);   })   });      (/api/人/:id -获取一个人应该404年,函数(){   app.get ('/api/人/$ {personId} ')   .expect (404)   指标(最终函数(呃,res) {   如果(err) {   返回(err);   }      (完成);   })   });      });      

这里主要注意的是

        const指数=要求(“. ./. ./指数”);      

需要将亚实例暴漏出来,不然在做特拉维斯ci的集成后,启动了项目,测试的时候依然找不到具体访问地址。

  

<强>来看下我的index.js

        从“进口Knex Knex ';   进口{   模型   从“异议”};   从“进口knexConfig。/knexfile ';   从“配置”进口配置;   从“高雅”进口高雅;   从“进口koaLogger koa-logger ';   从“进口bodyParser koa-bodyparser ';   从“koa-ejs”进口呈现;   进口公司从“有限公司”;   从“进口koaStatic koa2-static”   从“进口路由器。/路由器”;      const path=要求(“路径”);//初始knex   const knex=knex (knexConfig.development);   Model.knex (knex);//初始应用程序   const应用=new高雅();//初始渲染   呈现(app, {   根:路径。加入(__dirname +/视图),   布局:“模板”,   viewExt:“ejs”,   缓存:没错,   调试:真   });   app.context。渲染=co.wrap (app.context.render);//初始静态      app.use (koaLogger ())   .use (bodyParser ())   .use (router.routes ())   .use (koaStatic ({   路径:/网络,   根:__dirname +“/. ./静态”   }));      模块。出口=应用;      

        模块。出口=应用;      

暴漏出来,再supertest中才可以独立启动服务器测试。

  

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

节点。js环境下Koa2添加特拉维斯ci持续集成工具的方法