哪个Javascript测试框架支持在没有浏览器的情况下进行测试?

时间:2009-07-10 12:15:39

标签: javascript unit-testing testing continuous-integration

对于Javascript,存在一些测试框架,如JSUnit或js-test-driver。它们很好,但是它们在浏览器中运行测试。这很好,特别是验证您的webapp在不同的浏览器中运行。但是在连续集成服务器上没有安装窗口系统(也没有浏览器)。那么有没有一种方法可以在不使用浏览器的情况下运行测试?最好的方法是使用现有的一个框架,这样开发人员就可以在浏览器中本地运行测试,而持续集成系统则可以无浏览器运行。

6 个答案:

答案 0 :(得分:1)

jsTest可以运行命令行或作为eclipse插件运行。

但是,请注意,如果您需要支持多个浏览器,则不会使用此类工具获得100%的代码覆盖率。每个浏览器都以不同的方式实现JavaScript(即:IE)。因此,完全测试JavaScript的唯一方法是在您支持的所有浏览器中运行测试。

答案 1 :(得分:1)

您可能会对HtmlUnit 等多个UI测试框架使用的WebDriver感兴趣

答案 2 :(得分:1)

看看以下文章:

此外,我们有一个jsTestDriver服务器与几个Web浏览器(作为远程控制台运行程序)一起运行作为Jenkins的资源,因此您可以在Web浏览器中使用CI进行测试。

答案 3 :(得分:0)

我相信Canoo WebTest可以在没有浏览器的情况下运行。它基本上是一个前端测试框架,但也可用于测试JavaScript:

http://webtest.canoo.com/

答案 4 :(得分:0)

JSpec可以在没有浏览器的情况下运行(使用Rhino)。但也支持在浏览器中运行。

http://visionmedia.github.com/jspec/

它还提供了一个很好的规范样式语法:

describe 'ShoppingCart'   
  describe 'addProduct'   
    it 'should add a product'  
      cart.addProduct('cookie') 
      cart.addProduct('icecream') 
      cart.should.have 2, 'products'   
    end   
  end 
end

通过在浏览器之外运行所有单元测试,您还可以获得确保逻辑与html /表示层分离的好处(对于Web应用程序非常有用,对于小脚本可能有点过分)。

答案 5 :(得分:0)

Jasmine将在node.js中非常愉快地运行。