`

Karam与TDD

阅读更多

一.TDD

        测试驱动开发(Test-Driven Development,TDD)是一种敏捷(AGILE)开发方法论,它把开发流程倒转了过来,在进行代码实现之前,首先保证编写测试用例,从而用测试来驱动开发(而不是把测试作为一项验证工具来使用)。

        TDD的原则很简单:

a.只有当某个测试用例运行失败,进而需要编写代码才能通过时才去编写代码;

b.编写能保证测试通过的最少数量的代码;

c.在每一步中都去掉重复的内容;

d.一旦所有测试都通过了,就为下一个必需的功能点新增一个失败的测试用例。

        这些简单的原则可以保证:

a.你所开发的代码可以有机地组织在一起,并且所编写的每一行代码都是目的明确的;

b.你的代码可以保持高度模块化、高内聚,并且高度可复用(因为你必须能够测试它);

c.提供了一个全面的测试用例集,从而可以避免将来造成损环和bug;

d.测试用例同时又是开发规范,并且是文档化的,可以用于未来的需求和变更中。

        对于像JavaScript这种非编译型的动态语言来说,我们坚信做好单元测试用例集会为将来减少很多麻烦。

 

二.Karma

        Karma能让基于测试驱动开发(test-driven development,TDD)的流程更加简单、快速,并且有趣。它使用NodeJS和SocketIO(http://www.socket.io)来运行代码,并且可以在多种浏览器中极其快速地进行测试工作。可以到以下地址获取更多信息:http://github.com/vojtajina/karma/。

分享到:
评论

相关推荐

    Digital Signal Processing Handbook

    Karam, James H. McClellan, Ivan W. Selesnick, C. Sidney Burrus - **知识点概述**: - **滤波器设计原理**:包括低通、高通、带通等不同类型滤波器的设计方法。 - **滤波器结构**:介绍数字滤波器的不同实现...

    Sequans公司推出首个针对移动WiMAX基站的MAC/PHY芯片

    Sequans的首席执行官Georges Karam强调了新产品对客户的价值,指出SQN2130与SQN1130的结合将为客户提供极具竞争力的价格,并简化了产品的上市时间和认证流程。同时,SQN2130芯片在设计上兼顾了多功能性、低成本和低...

    低分辨率人脸识别11

    例如,Dodge和Karam的工作考察了多种降质因素对不同神经架构的影响,而卡拉汉等人则在人脸识别任务中探讨了模糊、噪声等对识别效果的冲击。 总结来说,虽然深度神经网络在图像识别上取得了显著成就,但它们对低...

    electricity-billing-GUI

    完成者:Karam Chatra-M00740458 项目目标 该项目基于先前的电费结算项目,该项目是一个仅CLI的程序。 该项目添加了GUI和新功能,例如: 能够登录和注册。 除按价值排序以外,还可以查看以前的帐单。 项目特色 ...

    论文研究 - 一名年轻患者误导性结核病的病例报告

    乳腺结核是一种罕见的肺外结核病例,主要涉及乳腺组织。通常情况下,结核病主要被视为一种呼吸系统疾病,最常见的肺外结核...在本文中,Karam等人通过对一名年轻患者的病例研究,为乳腺结核的临床管理提供了新的见解。

    P3Cowboys:第三期牛仔队的GitHub回购

    P3牛仔广告网站第三期牛仔队的GitHub回购链接[网站链接]创作者和Github链接姓名GITHUB链接威廉·切雷斯(William Cherres) 徐艾伦 马克·休莫 坦迈·玛瓦(Tanmay Marwah) 卡拉姆·阿尔沙赫(Karam Alshaikh) ...

    Oracle.v10g-OCP官方教材I-(第三版)

    Bryksa、Paul Needham、Pierre Labrousse、Raza Siddiqui、Sandra Cheevers、Stefan Lindblad、Stella Kister、Steve Friedberg、Steven Karam、Sushma Jagannath、Tammy Bednar - **编辑**:Navratan Singh、Nita ...

    Apollo1060:与Apollo1060平台相关的出版物中使用的数据和模型(带有预测脚本)

    与Apollo1060平台相关的出版物中使用的数据和模型(带有API):学习使用强化学习导航可合成访问的化学空间 BibTeX: @misc { gottipati2020learning, title={Learning To Navigate The Synthetically Accessible ...

    论文研究 - 具有两个参数的实函数的二次族的同宿点和同宿轨道

    在这项研究中,Karam N. Abdul-Kareem 和 Salma M. Farris 两位作者明确指出了他们的研究对象——带有两个参数的二次函数族,即 H = {h(ab)(x) = ax^2 + bx + c : a > 0, b ∈ R}。他们证明了在某些参数条件下,这个...

    Happiness:幸福需要练习

    幸福 有时幸福需要练习。 这是一个实现点探针临床心理...包含在 tests/unit test 文件夹中并使用 karam.conf.js 文件进行配置。 端到端测试 包含在tests/e2e 目录中。 验收测试 使用 Cucumber 运行。 验收测试是为 Cuc

    个人防护,全球前20强生产商排名及市场份额.pdf

    其他重要的市场参与者如顺富集团、Bullard、Avon Rubber、Lakeland Industries、JAL Group、KARAM、Moldex-Metric、Sioen Industries、Cordova Safety Products、Protective Industrial Products、COFRA、UVEX等也...

    moodio-watch:基于物联网的情绪检测智能家居解决方案

    Mood.io-具有心情检测功能的基于IoT的智能家居解决方案(智能手表组件) Mood.io是由我,Danayal Khan,Mohamed Mansour和Karam Ahfid开发的基于IoT的智能家居解决方案。 它检测其租户的心情,并根据检测到的心情...

    用卷积滤波器matlab代码-DeepCorrect:针对图像失真校正DNN模型

    Karam创建。 介绍 近年来,深度神经网络(DNN)的广泛使用促进了计算机视觉任务(如图像分类和对象识别)的性能大大提高。 在大多数现实的计算机视觉应用中,输入图像在图像获取或传输过程中会经历某种形式的图像...

    matlab图片叠加的代码-finetune_ESRGAN:微调ESRGAN超分辨率发生器,用于遥感图像和视频

    PRIM2018评估代码(无需生成Matlab代码即可生成SR图像,而是由PRIM2018评估感知指数使用)注:竞争产生的Matlab代码已由Karam教授批准。下载:每个评估代码自述文件还需要将Ma得分克隆到PIRM2018 / utils : 其中...

    Hardy_Weinberg_Sim

    Hardy_Weinberg_Sim 模拟x代中等位基因频率p变化的模拟。 它实现适应性,突变,迁移和遗传漂移,以改变给定人群... 感谢Sarah Karam和Julia Debecka提供的编码建议。 该项目的灵感来自CJ Batty在R中的driftR仿真: :

    面向智能网联汽车定位的协同地图匹配算法.docx

    该技术最初由Karam等人提出,通过无线通信和扩展卡尔曼滤波(EKF)实现数据融合,以增强车辆定位。随后的研究不断优化协议,减少网络分组碰撞,提高协同定位的效率。例如,Yao等人改进了协议,解决了协同定位中的...

    SAS cheat sheet-170401221255.pdf

    Karam, Ghawi; run; ``` 上述代码段展示了如何使用DATA步骤来读取来自流式数据行的原始数据。`infile datalines delimiter=',';` 指示SAS数据行的分隔符是逗号。`length` 语句用于指定变量的存储长度。`input` 语句...

Global site tag (gtag.js) - Google Analytics