2
我有signup.js
,其中包含一個函數名稱demo()
。此函數調用帶有參數的另一個YUI庫函數:嘲笑YUI函數
Y.io('mywrongserver',callbackfunction);
我要測試這個功能,但我想撥打電話到正確的服務器
Y.io('myrightserver',callbackfunction);
這怎麼可能?我不想更改signup.js
中的任何代碼,因爲它是由開發人員完成的。
我們可以利用嘲笑嗎?
代碼將是這樣的:
signup.js
demo : function(){
alert('i am inside demo');
// Some other stuff
callback = {
on :{
success:function(x,o){
// Some stuff here
}
}
}
// Now call to wrong server
Y.io("mywrongserver", callback);
test.js
// Using JSMOCKITO APIs for YUI
testDemo = function(){
// Need to test demo function in signup.js But such that Y.io call to right server
}
感謝
我投了票重新打開了這個。理由不明確。這不是代碼問題 - 這是一個關於模擬是否可用於測試的問題。答案似乎是肯定的 - 這就是嘲笑。但是我還沒有發佈答案,因爲我不知道是否有一個嘲笑圖書館來處理這個特殊情況。嘗試jsmockito似乎是顯而易見的事情,但我沒有時間。無論這個問題是否可以用jsmockito進行測試,在我看來都是一個完全正確的問題。 –
答案確實是「是」。我沒有使用jsmockto,但我可以用一般的術語來回答它。基本上,你用自己的函數覆蓋'Y.io',測試'Y.io'是否通過了正確的參數。請重新打開該問題。 – juandopazo
@DavidWallace - 關於模擬對象的主題以及如何創建它們的信息可以在YUI文檔中找到,或者使用Google。如果「是」是對這個問題的回答,那麼其他人不僅會使用Google或YUI/JSMockito自行解決這個問題,它也不是適合這種格式的問題。因此脫離主題。 –