简介

经过前两篇文章的介绍,相信读者对Mocha应该有一定的认知了,本文重点讲述如何在Chrome下Debug Mocha Test, 方便你在测试fail的时候troubleshooting.

关键词: Mocha, Mocha Debug with Chrome, Debug Mocha test, node-inspector, Nodejs单元测试Debug

开始

1) Install node-inspector

npm install -g node-inspector 

我安装的版本是

D:\Projects\xxx>node-inspector -v
Node Inspector v0.10.1

2)  在你的项目下面,新开一个command window, 启动node-inspector

D:\Projects\xxx>node-inspector
Node Inspector v0.10.1
Visit http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858 to start debugging.

3) 在Chrome下直接访问这个链接: http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858 

暂时什么都没有,因为还没有Debug运行测试。

##转载注明出处:http://www.cnblogs.com/wade-xu/p/4683431.html

4)在运行Mocha test之前,在你的测试源文件里面想要打断点的地方加debugger关键词

注:例子用的是我前一篇文章里(Example3)jdbc_MockTest.js。

5)项目目录下另开一个command window, 运行Mocha test 加选项 --debug-brk

6) 回到刚刚打开的浏览器等待几秒钟, 如果没有出现下图,刷新一下,总归还是要等待。

这个选项--debug-brk 就是告诉debugger 停在Mocha脚本的第一行。

你也可以不加 -brk, 程序会直接跳至你打的第一个debugger处。

7)点击右上方按钮 'resume script execution'

##转载注明出处:http://www.cnblogs.com/wade-xu/p/4683431.html

8) 这时候程序跳至你的第一个断点处, 移动你的鼠标

或者在Console下面 debug

你也可以在这个浏览器Sources tab下通过左边文件导航区域,找到你想debug的文件,加断点。

Troubleshooting

node-inspector 可以一直运行着,但在每次运行mocha test的时候,你都得去刷新一下debug的页面。

先运行mocha, 然后刷新node-inspector的浏览器页面。

参考

https://github.com/node-inspector/node-inspector

感谢阅读,如果您觉得本文的内容对您的学习有所帮助,您可以点击右下方的推荐按钮,您的鼓励是我创作的动力。

##转载注明出处:http://www.cnblogs.com/wade-xu/p/4683431.html

如何在Chrome下Debug Mocha的测试的更多相关文章

  1. Chrome出了个小bug:论如何在Chrome下劫持原生只读对象

    Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...

  2. 如何在Chrome下使用Postman进行rest请求测试

    在web和移动端开发时,常常会调用服务器端的restful接口进行数据请求,为了调试,一般会先用工具进行测试,通过测试后才开始在开发中使用.这里介绍一下如何在chrome浏览器利用postman应用进 ...

  3. 使用Postman在Chrome下进行rest请求测试

    1.首先下载postman,我已经下载好,放在云盘里了. http://pan.baidu.com/s/1c1YoGKS 密码 dgfw 2.打开Chrome,点击更多工具->扩展程序~打开. ...

  4. Window下memcached安装与测试步骤

    如何在Window下memcached安装与测试步骤 工具/原料 电脑 memcached 软件 方法/步骤 软件包下载 下载Memercached For Windows:http://downlo ...

  5. [Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目

    [Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目   你可能需要了解以下才能更好的阅读以下: 在 Windows 中配置Maven: http:/ ...

  6. 一步一步教你如何在linux下配置apache+tomcat(转)

    一步一步教你如何在linux下配置apache+tomcat   一.安装前准备. 1.   所有组件都安装到/usr/local/e789目录下 2.   解压缩命令:tar —vxzf 文件名(. ...

  7. 如何在Eclipse下查看JDK源代码以及java源代码阅读方法(转载)

    不会看JDK源代码,相当于没学过Java. 网上不容易找到一篇帮助我解决了如何在Eclipse下查看JDK源代码 的文章. 核心提示:在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 w ...

  8. 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

    http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...

  9. Chrome下的语音控制框架MyVoix.js使用篇(四)

    在上一篇博文中,我为大家介绍了myvoix.js中的smart learning模块,以及何如使用该功能.(myvoix.js的源码地址会在每一篇文章末尾放出) 文本将拓展 Chrome下的语音控制框 ...

随机推荐

  1. C++中的new与delete(二)

    C++一个对象构造的完整过程为:分配内存和初始化,这也是new关键字所实现的功能,分配内存可通过重载new操作符来实现,系统初始化可通过调用构造函数来完成.我们不能改变new关键字的功能,但可以改变分 ...

  2. 集成ShareSDK,分享成功后QQ和空间回调不执行的可能原因

    AndroidMainifest.xml中的如箭头所示的id与assets下ShareSDK.xml中配置的QQ的AppId一定要相同.

  3. Halcon pick_and_place_scara_stationary_cam.hdev程序学习

    此示例显示如何基于由SCARA手眼校准确定的校准信息,使用SCARA机器人执行拾取和放置应用程序. 在第一步骤中,根据模型图像定义形状模型. 然后,基于该形状模型,在每个图像中搜索对象. 对于一个选定 ...

  4. laypage

    <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> < ...

  5. js写的5秒钟倒计时跳转

    使用js实现几秒以后倒计时跳转,这个在某些特殊情况下还是比较实用的,下面为大家介绍下具体的实现步骤,感兴趣的朋友不要错过  代码如下: <html>  <head>  < ...

  6. 机械表小案例之transform的应用

    这个小案例主要是对transform的应用. 时钟的3个表针分别是3个png图片,通过setInterval来让图片转动.时,分,秒的转动角度分别是30,6,6度. 首先,通过new Date函数获取 ...

  7. UNITY更新到5后设置的动画无法播放了怎么办

    点击对应的animator,将 apply root motion  这个选项的勾去掉就可以了,纠结了很久最后在UNITY官方论坛找到的答案

  8. keepalived+nginx配置文件及检查nginx服务的脚本

    脚本一启动的速度要快一些哦,因为脚本二要判断两次以后才启动哎 这两个一般配合keepalived使用 脚本一: #!/bin/bash #author:fansik #description:chec ...

  9. mysql 基础列题

    1:emp表中查询公司总共有几个部门注意,会查询出来大量重复的,使用函数distinctselect distinct job from scott.emp; 2:查询公司工资在1000-3000之间 ...

  10. Android学习十:appcompat_v7相关

    error: Error retrieving parent for item: No resource found that matches the given name 'android:Wind ...