chai-generator

這是一個 chai 的外掛,用於簡化 ES6 / ES2015 中引入的 Javascript 生成器的測試。
由於生成器的 yield / return 簽名有點晦澀難懂,可能會導致測試變得異常冗長
expect(generator.next()).to.deep.equal({ done: false, value: 15 })
expect(generator.next()).to.deep.equal({ done: true, value: -1 })
chai-generator
移除了這些繁瑣的部分,讓你的測試看起來更符合你的意圖
expect(generator).to.yield(15)
expect(generator).to.return(-1)
設定
node.js / io.js
var chai = require('chai')
chai.use(require('chai-generator'))
瀏覽器
<script src="chai.js"></script>
<script src="chai-generator.js"></script>
斷言
.yield
斷言值是從 generator.next()
中 yield 的。返回的值不被視為 yield 的值。
expect(generator).to.yield()
expect(generator).to.yield(1)
expect(generator).not.to.yield('missing')
expect(generator.next(10)).to.yield(10)
generator.should.yield()
generator.should.yield(1)
generator.should.not.yield('missing')
generator.next(10).should.yield(10)
assert.yield(generator, 1)
assert.notYield(generator, 'missing')
assert.yield(generator.next(10), 10)
.yield
可以與 .deep
鏈式調用一起使用
expect(generator).to.deep.yield([1, 2, 3])
generator.should.deep.yield([1, 2, 3])
assert.deepYield([1, 2, 3])
.yield
也可以與其他斷言鏈式調用 (assert 不可用)
expect(generator).to.yield().and.equal(1)
generator.should.yield().and.equal(1)
.return
斷言值是從 generator.next()
中返回的。yield 的值不被視為返回的值。
expect(generator).to.return()
expect(generator).to.return(1)
expect(generator).not.to.return('missing')
expect(generator.next(10)).to.return(10)
generator.should.return()
generator.should.return(1)
generator.should.not.return('missing')
generator.next(10).should.return(10)
assert.return(generator)
assert.return(generator, 1)
assert.notReturn(generator, 'missing')
assert.return(generator.next(10), 10)
.return
可以與 .deep
鏈式調用一起使用
expect(generator).to.deep.return([1, 2, 3])
generator.should.deep.return([1, 2, 3])
assert.deepReturn([1, 2, 3])
.return
也可以與其他斷言鏈式調用 (assert 不可用)
expect(generator).to.return().and.equal(1)
generator.should.return().and.equal(1)
授權許可
chai-generator
是以 MIT 授權許可 發布的