jQuery插件TDD起点

时间:2013-04-20 18:25:25

标签: javascript tdd bdd agile mocha

我有一些现有的Javascript代码,我希望移植到jQuery插件。代码本身并不复杂:Flickr API照片库具有不同的照片尺寸,还有其他一些东西。我把它快速编码并且足够稳定,但我想以“正确的方式”重做它。

我建立了一个基于Yeoman的简单TDD环境,使用Grunt和Mocha,它运行良好。我遇到的问题是我的插件会像大多数jQuery插件一样工作,有一个简单的入口点:

$( '#ele' ).myAwesomePlugin( { ... } ); // Do all the things

我正在摸索着从哪里开始编写测试。虽然我已经有大部分代码来完成插件,但我正在尝试通过测试驱动开发的动作,我不知道如何从这个高级点过渡到较小的部分代码。

程序流程的某些阶段是:与Flickr通信,收集照片(或不收集照片),将它们分成各种尺寸,然后将它们安排到容器中。

插件本身(理想情况下)只有一个可公开访问的方法,但是,如果是这样的话,我的测试应该如何与我更深层的逻辑挂钩?我应该将我的代码拆分为不是jQuery插件的较小的,可测试的块,然后将它们组合起来吗?我很好奇是否有一种方法可以让测试本身推动这种发展。

任何有关阅读材料或文章的建议都会非常有用。最后我很兴奋做TDD!

1 个答案:

答案 0 :(得分:2)

以下是使用Jasmine测试驱动开发jquery插件的链接。

BDD Testing of jQuery plugins using Jasmine

Jasmine与Mocha类似,因此您可以使用Jasmine或Mocha来学习本教程。