【发布时间】:2011-08-10 15:40:31
【问题描述】:
也许这是一个 JQuery 新手问题,但是:
- 正确的 jquery 插件写在闭包中
- 因此只能从外部访问定义插件接口的方法
- 有时(或多次)可能需要辅助方法,将其作为插件接口的一部分公开是没有意义的(例如,因为它们会改变内部状态)。
- 如何进行单元测试?
例如,查看blockUI 插件,方法如何安装、删除、重置进行单元测试?
为了画一个平行线,在 Java 中我会:
- 创建仅包含公共方法的 BlockUI 接口(根据定义)
- 创建一个实现上述接口的 BlockUIImpl 类。此类将包含可能是公共的或(包)受保护的 install()、remove()、reset() 方法
因此,我将对 Impl 进行单元测试,但客户端程序员将通过 BlockUI 接口与插件进行交互。
【问题讨论】:
-
这里有一个类似问题的适用答案:exposure by injection 示例here 使用 qUnit 和 jQuery。
标签: javascript jquery unit-testing jquery-plugins