也许这是一个初学者 JQuery 的问题:
- 正确的 JQuery 插件是在闭包内编写的
- 因此只有定义插件接口的方法可从外部访问
- 有时候(或经常)需要辅助方法,但不应将其作为插件接口的一部分公开(例如,因为它们会改变内部状态)。
- 那么这些辅助方法该如何进行单元测试呢?
例如,查看 blockUI 插件,如何对安装、删除和重置方法进行单元测试?
为了类比,如果是 Java:
- 创建一个仅含公共方法的 BlockUI 接口(根据定义)
- 创建实现上述接口的 BlockUIImpl 类。该类将包含 install()、remove() 和 reset() 方法,这些方法可以是公共的或(包)受保护的
因此,我会对 Impl 进行单元测试,客户端程序员将通过 BlockUI 接口与插件进行交互。