欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

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)
    })
  })
})
 

点击查看详情:http://visionmedia.github.com/jspec/

相关标签: JavaScript 框架