2016-06-16 53 views
1

由於我的英文不好,以及我的低級別。我仍然沒有發現任何關於它。也許你可以幫助我?如何在不使用應用程序的情況下測試doGet函數上的對象值

我曾經使用Logger.log()來測試我想要的東西的內容。我不是一個有經驗的開發人員,所以我不會輕易地調試我的代碼,尤其是在Google Apps腳本上,所以也許有技巧可以繞過我的問題。

的問題很簡單:

function doGet(e) { 
    var currentUser = Session.getActiveUser().getEmail(); 
    var ssUrl = e.parameter.url; 
    var sheetName = e.parameter.sheet; 
    var a1Notation = e.parameter.range; 

正如你所看到的,我用電子表格修改傳遞的參數(當然,你不能看到它是一個電子表格,但你不應該關心)。 但是,如果運行腳本,它顯然看到它是未定義的,我不能嘗試10行之後的對象的值。我只是想知道是否有方法,如斷點,以便不必複製URL字符串,表等。每次我需要調試。

+2

'doGet'由GET請求觸發,而不是電子表格修改。 –

回答

1

腳本編輯器提供了一個debugger and breakpoints,如果你沒有注意到。

爲了調試doGet函數,創建另一個模仿GET調用的函數很方便。首先,我將創建一個日誌Web應用程序:

function doGet(e) { 
    return ContentService.createTextOutput(JSON.stringify(e)); 
} 

然後讓您的GET請求源調用日誌Web應用程序而不是真正的。記錄返回的JSON字符串,並將其用於諸如此類的函數中。

function fakeGet() { 
    var eventObject = 
    { 
     "parameter": { 
     "action": "view", 
     "page": "3" 
     }, 
     "contextPath": "", 
     "contentLength": -1, 
     "queryString": "action=view&page=3", 
     "parameters": { 
     "action": ["view"], 
     "page": ["3"] 
     } 
    } 
    doGet(eventObject); 
} 

這裏fakeGet模仿與查詢字符串?action=view&page=3一個GET請求調用。您可以從腳本編輯器啓動fakeGet並使用調試器來觀察doGet函數的工作方式。

+0

這麼多事情我沒有掌握。現在我有線索找到其餘的。 謝謝,非常有幫助。 – LMS

相關問題