我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于getEval
,但AFAIK无法正确评估js错误( selenium错误不会导致测试失败,而且selenium似乎不会在实际窗口中运行javascript )。
我想知道在各种浏览器中测试需要dom的JS的好方法是什么,而这种方法会导致测试失败?
发布于 2011-06-22 15:19:33
查看Jasmine。这是一个很好的Javascript测试框架,它的社区提供了许多插件,包括使测试jQuery和ajax请求更容易的插件。jasmine-jquery插件允许您从单独的HTML文件加载DOM fixture,然后您可以针对这些fixture运行测试。
Jasmine的另一个优点是,它可以很容易地在持续集成环境中使用,因为它负责启动web浏览器,在web浏览器中运行测试,收集有关哪些测试通过和失败的信息,并在控制台中报告这些信息。
发布于 2011-06-22 15:10:05
它是一个完整的webkit浏览器,所以你有一个完整的DOM/BOM模型,以及你在一个“真正的”浏览器中可以获得的所有事件。
注意,这不是一个完整的解决方案,因为它不会模拟gecko、IE或Opera浏览器,但如果您只是回归测试代码,而不是执行广泛的跨平台测试,PhantomJS看起来非常适合您。
发布于 2011-06-22 15:03:01
qUnit是一个很好的js测试库。http://docs.jquery.com/Qunit
我猜你不能捕获JS错误,因为qUnit也是用JS编写的。
但是,它允许您编写非常详细的测试,如果发生错误,这些测试将失败。
https://stackoverflow.com/questions/6441955
复制相似问题