编写可测试的JavaScript代码
Writing testable JavaScript code
我开始深入研究JavaScript的一些工作,并试图了解如何编写可测试的JS代码。我的背景主要是Java,我对它很熟悉,但我没有JavaScript经验。经过一些阅读,我打算使用js测试驱动程序作为我的单元测试框架,但我也愿意接受这里的建议。对于Java,我的方法一直是将事物分解为一些小方法,这些小方法接受一些东西并返回一些东西。。。使用JavaScript,我想我会采取类似的方法,将任何DOM操作和实际逻辑分离为两个单独的函数。例如:
function sumValues(valA, valB) {
return (valA + valB);
}
function displayResult(result) {
document.getElementById('result').innerHTML = 'result';
}
因此,任何业务逻辑都很容易测试。
我在这方面走对了吗?还是有更好的做事方式?关于这个主题,有没有JS特有的推荐读物?感谢您的任何想法
将代码分解为逻辑单元当然仍然适用于JavaScript。至于如何构建代码和组织可重用性,有很多不同的方法可供选择——太多了,无法在这里列出,这也是个人偏好的问题。从原型继承,到伪古典继承;使用backbone.js、angular.js、require.js、yui、googleclosure等框架。。。
关于您的示例,您可能会开始将代码分离为可单独测试的视图和控制器,并且只有视图才能操作DOM。我会查看backbone.js了解更多信息。
Christian Johansen的《测试驱动的JavaScript开发》一书真正帮助我开始了JavaScript的测试驱动开发(同时也了解了JavaScript)。
我正在使用JsTestDriver,这是一个很棒的软件,绝对很好用。但在大规模使用它之前,我也会评估其他产品,因为JsTestDriver的开发最近进展非常缓慢。。Buster.JS看起来很有希望。另一个有趣的运行程序是Testem,它允许您使用不同的测试框架,如Mocha和Jasmine。
我也可以推荐Sinon.JS作为嘲讽工具包。
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- JavaScript代码问题:我正在将对象转换为数组
- Javascript阻止其他Javascript代码
- JavaScript代码未正确检查ajax请求
- 如何调试Javascript代码或函数
- 为什么我在这个javaScript代码中使用NaN
- 将javascript代码转换为jquery代码时出错
- 如何从Objective-C代码中调用javascript代码
- 有什么工具可以轻松读取javascript代码吗
- 这个javascript代码是如何编写的
- 如何解密此javascript代码
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- HTML标记,包含带引号的JavaScript代码中的引号
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- JavaScript代码无法在表单上呈现部分
- 以下 JavaScript 代码与 Facebook 相关
- 使用解析为javascript源的.php,如何使用条件语句将javascript代码封装在php括号之间