参考阮神的文章:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html
补充:
cnpm i mocha -g --save-dev
cnpm i chai --save-dev //这个是可选的断言库,也可以用should
cnpm i mochawesome --save-dev //这个是mocha以外的一个报告格式库,也是可选的
[这里cnpm 也可以用yarn,总之是比npm 工具好用]
配置好了,直接在根目录下运行:mocha 就可以,最简单的:mocha xx.test.js
生成报告:mocha --reporter mochawesome .... 简单的:mocha xx.test.js --reporter mochawesome 报告在:根目录下的mochaawesome-reports/mochawesome.html
还可以统一的将命令都集中在package.json 的scripts中:参考:http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html
覆盖率:
参考:http://www.ruanyifeng.com/blog/2015/06/istanbul.html
cnpm i istanbul -g --save-dev
istanbul cover _mocha xx.test.js
报告在:根目录下的coverage/icov-report/index.html
网络数据请求模拟:ajax fetch 都要求请求http 或https 协议。所以为了便捷我采用了python 快速的开启一个服务:
python -m SimpleHTTPServer
<script src="https://code.jquery.com/jquery-2.2.4.js"></script> <script src="http://mockjs.com/dist/mock.js"></script> <script> Mock.mock('http://localhost:8000/test', { 'result|5': [{ 'id|+1': 1, 'email': '@EMAIL', 'name': '@STRING', 'fname': '@name()', 'age|1-100': 100, 'color': '@color' }] }); //////////////////////// $.ajax({ url: 'http://localhost:8000/test', dataType: 'json', success: function (data, status, jqXHR) { console.log(data) } });
//目前chrome 55 中下面的代码是有问题的 fetch('http://localhost:8000/test',{mode:'no-cors'}) .then(function(response){ console.log(response.json()) //return response.json() }).then(function(data){ console.log(data) }) </script>