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