JavaScript有一些测试框架,如JSUnit或js-test-driver。它们很好用,但是它们在浏览器中运行测试。这很好,特别是为了验证您的Web应用程序在不同的浏览器中运行。但是,在我们的持续集成服务器上没有安装窗口系统(也没有浏览器)。那么有没有一种方法可以在不使用浏览器的情况下运行测试?最好的方法是使用现有的框架,以便开发人员可以在本地浏览器中运行测试,而持续集成系统则在没有浏览器的情况下运行它们。
请查看以下文章:
此外,我们有一个jsTestDriver服务器运行着几个Web浏览器(作为远程控制台运行程序),作为Jenkins的资源,因此您可以在Web浏览器中进行测试并实现CI。
jsTest 可以在命令行或作为 Eclipse 插件运行。
然而,需要注意的是,如果您需要支持多个浏览器,使用这样的工具将无法获得 100% 的代码覆盖率。每个浏览器都以不同的方式实现 JavaScript(例如:IE)。因此,全面测试您的 JavaScript 的唯一方法是在所有支持的浏览器中运行测试。
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
Jasmine 可以在 node.js 中很愉快地运行。