久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何對 jquery 插件中的私有方法進(jìn)行單元測試?

how to unit-test private methods in jquery plugins?(如何對 jquery 插件中的私有方法進(jìn)行單元測試?)
本文介紹了如何對 jquery 插件中的私有方法進(jìn)行單元測試?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

也許這是一個 JQuery 新手問題,但是:

Perhaps this is a bit of a novice JQuery question but:

  • 適當(dāng)?shù)?jquery 插件寫在閉包內(nèi)
  • 因此只有定義插件接口的方法可以從外部訪問
  • 有時(或多次)可能需要輔助方法,將其作為插件接口的一部分公開是沒有意義的(例如,因為它們會改變內(nèi)部狀態(tài)).
  • 如何進(jìn)行單元測試?

比如看blockUI插件,怎么能方法安裝、刪除、重置是否經(jīng)過單元測試?

For example, looking at blockUI plugin, how can methods install, remove, reset get unit-tested?

為了畫一個平行線,在 Java 中我會:

To draw a parallel, in Java I would:

  1. 創(chuàng)建一個僅包含公共方法的 BlockUI 接口(根據(jù)定義)
  2. 創(chuàng)建一個實現(xiàn)上述接口的 BlockUIImpl 類.此類將包含可能是公共的或(包)受保護(hù)的 install()、remove()、reset() 方法

因此,我將對 Impl 進(jìn)行單元測試,但客戶端程序員將通過 BlockUI 接口與插件進(jìn)行交互.

So, I would unit-test the Impl but client programmers would interact with the plugin via BlockUI interface.

推薦答案

這同樣適用于任何其他語言和測試私有方法:要測試私有方法,您應(yīng)該通過公共接口來使用它們.換句話說,通過調(diào)用您的公共方法,私有方法在進(jìn)程中得到測試,因為公共方法依賴于私有方法.

The same applies here as with any other language and testing privates: To test private methods, you should exercise them via the public interface. In other words, by calling your public methods, the private methods get tested in the process because the public methods rely on the privates.

通常私有方法不會與公共接口分開測試 - 重點在于它們是實現(xiàn)細(xì)節(jié),測試通常不應(yīng)該對實現(xiàn)的細(xì)節(jié)了解太多.

Generally private methods are not tested separately from the public interface - the entire point is that they are implementation details, and tests should generally not know too much about the specifics of the implementation.

這篇關(guān)于如何對 jquery 插件中的私有方法進(jìn)行單元測試?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

jQuery/JavaScript Library for avatar creation?(用于創(chuàng)建頭像的 jQuery/JavaScript 庫?)
How to do following mask input problem?(如何做以下掩碼輸入問題?)
Issues Setting Value/Label Using DropKick Javascript(使用 DropKick Javascript 設(shè)置值/標(biāo)簽的問題)
stellar.js - configuring offsets / aligning elements for a vertical scrolling website?(stellar.js - 為垂直滾動網(wǎng)站配置偏移量/對齊元素?)
jQuery masked input plugin. select all content when textbox receives focus(jQuery 屏蔽輸入插件.當(dāng)文本框獲得焦點時選擇所有內(nèi)容)
Is it possible to force jQuery.jScrollPane to always show a vertical scroll-bar?(是否可以強制 jQuery.jScrollPane 始終顯示垂直滾動條?)
主站蜘蛛池模板: 成人福利视频在线观看 | 精品国产一二三 | 亚洲成人av | a毛片大片 | 91精品国产成人www | 国产九九九 | yy6080午夜| 欧美视频免费在线观看 | 国产精品偷拍 | 一区二区三区毛片 | 成人激情综合网 | 欧美日韩国产精品 | av黄页 | 欧美在线网址 | 一区二区视频网站 | 中文字幕国产视频 | 国产成人精品av | 成人激情视频在线观看 | 亚洲国产成人在线 | 中文在线观看免费网站 | 欧美激情专区 | 欧美一区二区三区在线视频 | 久久天天躁狠狠躁夜夜躁2014 | av狠狠干| 欧美激情第二页 | 欧美日韩国产一区二区 | 精品免费 | 久久精品国产一区二区 | 日韩欧美高清视频 | 91蜜桃婷婷狠狠久久综合9色 | 国产一区二区福利 | 亚洲国产第一页 | 欧美日韩在线一区二区 | 亚洲美女毛片 | 天天精品 | 亚洲理论片 | 中文字幕专区 | 午夜视频在线 | 91亚洲国产成人久久精品麻豆 | 欧美精品久久99 | 一区二区三区国产视频 |