对于Javascript,存在一些测试框架,如JSUnit或js-test-driver。它们很好,但是它们在浏览器中运行测试。这很好,特别是验证您的webapp在不同的浏览器中运行。但是在连续集成服务器上没有安装窗口系统(也没有浏览器)。那么有没有一种方法可以在不使用浏览器的情况下运行测试?最好的方法是使用现有的一个框架,这样开发人员就可以在浏览器中本地运行测试,而持续集成系统则可以无浏览器运行。
答案 0 :(得分:1)
jsTest可以运行命令行或作为eclipse插件运行。
但是,请注意,如果您需要支持多个浏览器,则不会使用此类工具获得100%的代码覆盖率。每个浏览器都以不同的方式实现JavaScript(即:IE)。因此,完全测试JavaScript的唯一方法是在您支持的所有浏览器中运行测试。
答案 1 :(得分:1)
答案 2 :(得分:1)
看看以下文章:
此外,我们有一个jsTestDriver服务器与几个Web浏览器(作为远程控制台运行程序)一起运行作为Jenkins的资源,因此您可以在Web浏览器中使用CI进行测试。
答案 3 :(得分:0)
我相信Canoo WebTest可以在没有浏览器的情况下运行。它基本上是一个前端测试框架,但也可用于测试JavaScript:
答案 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中非常愉快地运行。