什么是测试Dom重js的好方法?

时间:2011-06-22 14:54:56

标签: javascript unit-testing selenium

我有一堆很大程度上依赖于dom元素的JS代码。我目前使用的测试解决方案依赖于selenium,但AFAIK无法正确评估js错误(addScript错误不会导致测试失败,getEval似乎无法运行实际窗口中的javascript)。

我想知道什么是在各种浏览器中测试需要dom的JS的好方法,这会导致测试失败?

3 个答案:

答案 0 :(得分:3)

http://www.phantomjs.org/

这是一个完整的Webkit浏览器,因此您拥有完整的DOM / BOM模型,以及您可以在“真实”浏览器中获得的所有可用事件。

请注意,这不是一个完整的解决方案,因为它不会模拟壁虎或IE或Opera浏览器,但如果您只是回归测试代码,而不是执行广泛的跨平台测试,PhantomJS看起来很完美对你而言。

要探索的其他解决方案是HtmlUnitWatir

答案 1 :(得分:1)

qUnit是一个不错的js测试库。 http://docs.jquery.com/Qunit

我猜你无法捕获JS错误,因为qUnit也是用JS编写的。

然而,它允许您编写非常详细的测试,如果发生错误则会失败。

答案 2 :(得分:1)

结帐Jasmine。这是一个很好的Javascript测试框架,其社区提供了许多插件,包括用于更轻松地测试jQuery和ajax请求的插件。 jasmine-jquery插件允许您从单独的HTML文件加载DOM灯具,然后您可以针对这些灯具运行测试。

关于Jasmine的另一个好处是它可以很容易地用在持续集成环境中,因为它负责启动Web浏览器,在Web浏览器中运行测试,以及收集有关哪些测试通过和失败的信息并报告控制台中的信息。