我最近开始使用QUnit来单元测试我的 JavaScript,我有点混淆了文档中的一个功能:expect().

根据文档,expect()旨在:

[s]pecify how many assertions are expected to run within a test.

这是他们给出的例子:

test( "a test",function() {
  expect( 2 );

  function calc( x,operation ) {
    return operation( x );
  }

  var result = calc( 2,function( x ) {
    ok( true,"calc() calls operation function" );
    return x * x;
  });

  equal( result,4,"2 square equals 4" );
});

我唯一看到的是维护噩梦.每次向测试添加断言时,必须更新该号码,否则测试将失败.这种功能有实际的应用吗?

解决方法

The only thing I see here is maintenance nightmare… Is there a practical application for this kind of feature?

那么,我认为期望的方式是使用分组有意义的任务.它可用于测试事件或回调,例如:

test('trigger an event',function() {
  expect(1);

  $('div')
    .on('click',function() { ok(1) });
    .trigger('click');
});

如果您将有意义的任务分组在小型测试中,那么只有2或3个断言才会成为一个噩梦.

javascript – 为什么会使用expect()在使用QUnit编写测试时?的更多相关文章

  1. 在Ubuntu 16.04 LTS上安装MySQL 5.7的非交互式(静默)

    MySQL5.7(实际上是5.6)改变了MysqL_secure_installation的工作方式.这使得很难找到Ubuntu16.04LTS的工作,静默,脚本安装.如何以脚本化非交互方式安全地安装MysqL?下面的完整脚本可以放入我们称之为“install.sh”的文件中,并执行以下操作:关于以下脚本:>请记住通过用密码替换第4行上的问号来设置MysqL_ROOT_PASSWORD.>如果以r

  2. centos expect

    一个具体的场景:远程登陆服务器,并执行命令登录时输入密码需要交互,bash脚本无法完成,可以使用expect来完成。expect等待输出特定的字符串,然后使用send发送交互字符串。

  3. 使用expect编写脚本

    借助expect,我们可以将交互过程写在一个脚本上,使之自动化完成。expect脚本的出现使得这些老的软件工具有了新的功能和更多的灵活性。expect脚本远程登录以上简介中也提到了expect和shell类似,可以进行编程,接下来就实际的编写一些expect脚本来学习expect简单的使用方式。可能有些人会想到使用settimeout来设置一个超时时间避免马上退出登录,实际上是无效的,避免这种马上退出登录的方式只能用expecteof或者interact。

  4. 正则表达式 – TCL期望正则表达式

    我正在尝试编写一个脚本,它通过TCL/Expect从一个系统爬升到另一个系统.它对我有用.我需要一个正则表达式,其中期望“$”并期望“#”被组合,以便可以包含路径中任何提示的任何系统.用这个:

  5. expect正则表达式和sed的使用

    expect正则表达式和sed的使用实战:expect实现无交互登录正则表达式sedexpect使用expect是用来进行自动化控制和测试的工具。expectsourceforgeTCL是一种类似shell脚本的语言,你可以使用它来完成许多操作。[root@CentOS6-node1~]#expect各项参数使用expect创建脚本的方法#!

  6. Ajax负载测试工具

    似乎有很多压力/负载测试工具支持AJAX.我想知道这些工具是如何实现的.他们只记录http请求并重播吗?它是测试AJAX应用程序的正确方法吗?

  7. Ubuntu expect使用经验

    assword:*"{puts"WRONG_PASSWORD";exit;}setconnectedFlag1;}#ifnopassword"*~*"{send"echohello\r";setconnectedFlag1;}}if{$connectedFlag==0}{close;puts"SSHserverunavailable,retrying...";continue;}while{setconAliveFlag0;interact{#timeintervalforcheckingconnecti

  8. centos ssh和scp利用expect自动填充密码

    在命令行ssh远程登录服务器和scp远程传输文件都需要交互式输入密码,无法像MysqL登录数据库MysqL-uroot-p123456一样直接完成。介绍在centos6.5环境下,脚本依赖expect来达到这一目的,首先确认安装expect和spawn。密码有特殊字符如$需要转义ssh登录脚本,ip在执行脚本时动态输入:#!

  9. 【expect】使用心得

    而Expect就使用来实现这种功能的工具。这里的expect其实和linux下的bash、windows下的cmd是一类东西。

  10. expect正则捕获返回结果

    ()用于分组,它们分别存放在$expect_out和$expect_out中。

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部