美文网首页前端测试
断言库与chai.js

断言库与chai.js

作者: 雷雨leiyu | 来源:发表于2021-05-13 16:26 被阅读0次

    断言是什么?一般情况下可以理解为一个表达式的结果是否为真,如果为假则抛出异常或者自定义这个失败测试用例。

    常见的断言库

    • assert:TDD风格,案例:assert("dennis" == username);
    • should:BDD风格,案例:username.should.be("dennis");
    • expect:BDD风格,基于should库,案例:expect(username).to.be("dennis");
    • chai:同时支持assert、should、expect三种库;
    const chai = require("chai")
    const expect = chai.expect
    const should = chai.should()
    

    chai语言链

    断言目标为指定类型

    • to.be.ok:断言为真;
    • to.not.be.ok:断言为假;
    • to.be.true:断言为true;
    • to.be.null
    • to.be.undefined
    • to.exist或者to.not.exist:断言存在;
    • to.empty或者to.not.empty:断言空值;
    expect(true).to.be.ok
    expect(1).to.be.ok
    

    断言目标值

    • to.equal()/to.not.equal():断言等于具体值;
    • to.eql():深度等于,相当于to.deep.equal();
    • to.deep.equal():断言对象具体值;
    • to.have.all.keys():断言所有;
    • to.have.any.keys():断言任意值/键;
    • to.include()或者to.include.keys():断言包含;
    • to.contains()或者to.contains.keys():断言包含;
    • to.above()或者to.have.length.above():断言大于;
    • to.below():断言小于;
    • to.least():断言不小于;
    • to.most():断言不大于;
    • to.within():断言范围大小;
    • to.instanceof():断言类;
    • to.have.property()或者to.have.deep.property()
    • to.have.ownProperty()
    expect(foo).to.equal("hello")
    expect({foo: "test"}).to.have.deep.property("foo")
    

    断言异常

    • to.throw()
    • to.not.throw()

    更多请见

    相关文章

      网友评论

        本文标题:断言库与chai.js

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