美文网首页Web前端之路
几种断言库的区别

几种断言库的区别

作者: 小m_up | 来源:发表于2017-08-17 16:46 被阅读480次

在我们使用mocha进行测试的时候,会结合断言库去使用,经常一起使用的是chai,但是还有assertexpectshould这几种断言库,那么接下来了解一下他们的区别

assert

TDD风格
API样例:

assert("mike" == user.name);

should

BDD风格
API样例:

foo.should.be("aa");

expect

BDD风格,基于should的简化
API样例:

expect(foo).to.be("aa");

chai

BDD/TDD风格,同时支持shouldassertexpect
API样例:

foo.should.be("aa");
assert("mike" == user.name);
expect(foo).to.be("aa");

should和expect的区别

当被测对象为undefined时,should就失效,而expect依然可以给出信息
例如使用should

// foo === undefined
foo.should.equal('aa');

此时错误信息为: Cannot read property 'should' of undefined,如果使用expect

// foo === undefined
expect(foo).to.equal('aa');

给出的信息为:expected undefined to equal 'foo'
故使用expect优于should

相关文章

  • 几种断言库的区别

    在我们使用mocha进行测试的时候,会结合断言库去使用,经常一起使用的是chai,但是还有assert,expec...

  • 2018最新精选的Go框架,库和软件的精选列表 三 https:

    测试 用于测试代码库和生成测试数据的库。 测试框架断言 - 基本断言库与侧面本机测试一起使用,带有用于自定义断言的...

  • maven tests

    (一)关于断言assert 断言assert与异常exception的区别在于:1、断言用于调试代码2、异常用于捕...

  • golang类型转换与断言

    使用方式: 总结:相似:都是右边有括号。区别:断言有. 类型转换demo: 断言demo:

  • AssertJ 断言框架用法总结

    [TOC] AssertJ 断言 时间 文件和文件内容 字段 软断言 AssertJ-DB 断言数据库 附:谷歌 ...

  • 前端动手开始试着写单元测试

    单元测试分为 TDD(测试驱动开发)和 BDD(行为驱动开发)两种类型两者的区别是驱动者、主导者不同 断言库 no...

  • chai断言库

    chai简介 chai.js 是一套TDD(测试驱动开发)/BDD(行为驱动开发)的断言库。包含有3个断言库支持B...

  • 《学会提问》第七章:证据的效力如何

    为什么要相信断言?对于断言到底是观点还是事实,其间最大的区别就是有多少相关的证据,还要判定断言的可靠性,经常去问一...

  • Re:从零写一个基于JS Proxy的断言库[JavaScrip

    什么是断言库,如何使用它们,或是如何写一个自己的断言库。 这篇文章的主要目的是展示构建一个简易JS测试库的过程。该...

  • 自定义Assert

    断言 断言(Assert)对于程序调试非常重要,在一些库的实现中,为了检查中间计算过程的错误,可以使用断言进行检查...

网友评论

    本文标题:几种断言库的区别

    本文链接:https://www.haomeiwen.com/subject/ldknrxtx.html