我有一些现有的Javascript代码,我希望移植到jQuery插件。代码本身并不复杂:Flickr API照片库具有不同的照片尺寸,还有其他一些东西。我把它快速编码并且足够稳定,但我想以“正确的方式”重做它。
我建立了一个基于Yeoman的简单TDD环境,使用Grunt和Mocha,它运行良好。我遇到的问题是我的插件会像大多数jQuery插件一样工作,有一个简单的入口点:
$( '#ele' ).myAwesomePlugin( { ... } ); // Do all the things
我正在摸索着从哪里开始编写测试。虽然我已经有大部分代码来完成插件,但我正在尝试通过测试驱动开发的动作,我不知道如何从这个高级点过渡到较小的部分代码。
程序流程的某些阶段是:与Flickr通信,收集照片(或不收集照片),将它们分成各种尺寸,然后将它们安排到容器中。
插件本身(理想情况下)只有一个可公开访问的方法,但是,如果是这样的话,我的测试应该如何与我更深层的逻辑挂钩?我应该将我的代码拆分为不是jQuery插件的较小的,可测试的块,然后将它们组合起来吗?我很好奇是否有一种方法可以让测试本身推动这种发展。
任何有关阅读材料或文章的建议都会非常有用。最后我很兴奋做TDD!
答案 0 :(得分:2)
以下是使用Jasmine测试驱动开发jquery插件的链接。
BDD Testing of jQuery plugins using Jasmine
Jasmine与Mocha类似,因此您可以使用Jasmine或Mocha来学习本教程。