Mocha+Chai单元测试并没有想象中难

发表于:2017-1-16 11:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:凳子    来源:51Testing软件测试网采编

  六. only()、skip()函数
  describe块和it块都允许调用 only() 和 skip() 方法。
  only() 方法表示在当前的父describe块下,只执行该单元的测试。
  skip() 方法表示在当前的父describe块下,跳过不执行该单元的测试。
  当在一个describe块下,同时存在 only() 和 skip() 方法,则只执行 .only() 方法。
  describe('Array', function() {
  describe.only('父describe块下只执行该测试单元', () => {
  it.skip('跳过的测试单元', () => { //... });
  });
  describe('不执行', () => { //... });
  });
  七. mocha 常用命令参数
  –recursive 遍历子目录下的全部文件
  Mocha默认运行/test子目录里面的测试脚本。
  Mocha默认只执行/test子目录下第一层的测试用例。
  所以,应加上–recursive参数,使全部子目录下的测试用例都能被执行。
  mocha --recursive
  -u tdd 执行TDD模式
  mocha默认的模式是BDD,要想执行TDD的test时需要加上参数,如:
  mocha -u tdd test.js
  –watch, -w 监听脚本变化
  --watch 参数用来监视指定的测试脚本。当脚本发生变化,就会自动运行mocha。
  mocha --watch
  –bail, -b
  只要有一个测试用例没有通过,就会停止执行后面的测试用例。
  -timeout, -t 指定超时门槛
  Mocha默认每个测试用例最多执行2000毫秒。如果2000毫秒后还没有执行完成,则报错。-t可执行超时门槛。
  mocha -t 5000 test.js
  使用nobe通配符适配文件
  mocha spec/{my,awesome}.js
  mocha test/unit/*.js
  mocha 'test/**/*.@(js|jsx)'
  八. chai库
  我个人比较喜欢assert风格。具体可查看文档: http://chaijs.com/api/assert/
  其实最常用的API也就那几个:
  .equal(actual, expected, [message])
  .deepeEqual(actual, expected, [message])
  .isOk(object, [message])
  .isTrue(value, [message])
  .include(haystack, needle, [message])
  … …
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号