JSpec,小巧的JavaScript测试框架
程序员文章站
2022-07-12 23:31:52
...
JSpec非常小,但却是一个很强大的测试框架。JSpec可以在利用其自定义的语法和预处理器进行操作,这是其他的JavaScript测试框架所不能的。它还包括许多有用的速记literal,一个直观/可读的语法,对核心prototype无污染,支持异步请求。
JSpec也可以运行多种方式,例如:通过terminal与Rhino的支持;通过browsers使用DOM或Console formatters; 通过使用Ruby JavaScript的服务器在后台运行浏览器,再汇报到terminal。
部分特性:
- 支持异步
- 支持Node.js
- 支持Rhino
- 支持Dom sandbox
- 集成Ruby on Rails
示例:
describe 'ShoppingCart' before_each cart = new ShoppingCart end describe 'addProducts' it 'should add several products' cart.addProduct('cookie') cart.addProduct('icecream') cart.should.have 2, 'products' end end describe 'checkout' it 'should throw an error when checking out with no products' -{ cart.clear().checkout() }.should.throw_error EmptyCart end end end
Without Grammar
JSpec.describe('ShoppingCart', function(){ before_each(function{ cart = new ShoppingCart }) describe('addProducts', function(){ it ('should add several products', function(){ cart.addProducts('cookie') cart.addProducts('icecream') expect(cart).to(have, 2, 'products') }) }) describe('checkout', function(){ it ('should throw an error when checking out with no products', function(){ expect(function(){ cart.clear().checkout() }).to(throw_error, EmptyCart) }) }) })