我正在爲一個小型Javascript應用程序中的模塊編寫單元測試。爲了保持界面清潔,一些實現細節被匿名函數(通常爲隱私的JS模式)關閉。但是,在測試時,我需要訪問/模擬/驗證私密部分。Javascript中的白盒測試 - 如何處理隱私?
我之前編寫的大多數測試都是在Python中,沒有真正的私有變量(成員,標識符,無論你想調用它們)。一個簡單的建議隱私通過用戶的一個領先的下劃線,並在測試代碼時自由地忽略它。在靜態類型的面嚮對象語言中,我假設可以通過將私有成員轉換爲受保護的子類並對待測試的對象進行子類化來使測試可以訪問私有成員。在Javascript中,後者不適用,而前者似乎是不好的做法。
我總是可以回退到黑盒測試並簡單地檢查最終結果。這是最簡單和最乾淨的方法,但不幸的是,對於我的需求來說不夠詳細。
那麼,有沒有一個標準的方法來保持變量專用,同時仍然保留一些後門用於JavaScript測試?
嗯,我不喜歡當人們嘲笑我的私人部分 – Martin 2010-05-29 00:01:13