`

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/。

分享到:
评论

相关推荐

    electricity-billing-GUI

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

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

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

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

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

    Happiness:幸福需要练习

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

    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仿真: :

Global site tag (gtag.js) - Google Analytics