我一直在尝试不同的js单元测试库,但我仍然不知道这样做的正确方法是什么。
关于这个问题有没有达成共识?
例如,我尝试使用QUnit(jQuery使用的单元测试库)为模态窗口库编写一些测试,但它必须在浏览器中运行,并且它不会隐藏我的效果测试,或其他恼人的事情,如警报(我甚至不知道这是否可能在js)。在服务器端语言中,测试套件生成的任何输出都将被发送到缓冲区并在每次测试后被丢弃。
如果在js单元测试中警告,DOM操作以及那种事情是不可封装的,那么编写测试是否值得用这种语言付出努力?
答案 0 :(得分:4)
测试前端代码(html,css,javascript)并不是一件容易的事,这主要归功于需要视觉测试的跨浏览器问题,例如。确保元素在所有浏览器中都正确定位。
为了测试您的javascript代码,您需要以“可测试”的方式编写它。我个人发现这篇博文非常有帮助:http://www.adequatelygood.com/2010/7/Writing-Testable-JavaScript
对于实际测试,尝试将QUnit(您已经使用的)与http://funcunit.com/结合起来。 FuncUnit允许您打开一个html页面并在其dom上运行测试。在家里有一个例子说明它是如何完成的。
答案 1 :(得分:1)