node 测试 总结

  • 测试数据分离(这样数据发生改变时,不影响测试数据,也能保证测试的整洁,同时为开发,提供准备数据的规范)

     

     

  • 测试数据种类齐全(保证各种数据都能正常运行)

     

     

  • 将单元测试和集成测试,端到端测试分离,

     

     

  • 测试点尽量全面,一个测试的expect可以多写几个尽量具体,可以保证此次测试的准确性,可以减少bug

     

     

  • 数据的准备尽量不要放到测试用例里,可以到before里,一避免重复代码,二增加代码可读性

     

     

  • 要把要把同一函数里各个流程侧倒,(if swith)

     

    node js 测试,对于app.get(‘’,function(req, res){})的测试,可以mock app={‘get’:function(url,cb){}},在req里准备必要的数据,可以在res里可以mock res的结果处理方法
    可能遇到的小问题,(1)异步中的expect()跑不过会报timeout错误,小心被误导,(2)一不小心,在测试用例里,出现两个done()会出现同一用例执行两次的错误(3)当beforeEach里有异步时,如果done()放错位置也会出现一个测试用例出现两次的错误

    mock测试插件 rewire

    用法 var jobsCtrl = rewire(‘需要mock的代码’);

  • superagentMock = {
             get: function() {
                return this;
               }
        }
            定义需要mock的对象
     
  • jobsCtrl.__set__('superagent', superagentMock);
     
  • 用mock 的对象替代 原有的对象,执行中,会调用mock的对象,而不会使用原有的对象

猜你喜欢

转载自liguangsong.iteye.com/blog/2195964