Unit testing doGet中的统一测试(请求)-Google应用程序脚本

Unit testing doGet中的统一测试(请求)-Google应用程序脚本,unit-testing,google-apps-script,Unit Testing,Google Apps Script,我正在开发一个简单的google脚本,并将其发布为一个web应用程序 我的方法如下所示: function doGet(request) { var start = request.parameters.start; var end = request.parameters.end; if (isNaN(Number(start))) return generateError (3, start); if (isNaN(Number(end))) return

我正在开发一个简单的google脚本,并将其发布为一个web应用程序

我的方法如下所示:

function doGet(request) {

  var start = request.parameters.start;
  var end = request.parameters.end;

  if (isNaN(Number(start)))
    return generateError (3, start);
  if (isNaN(Number(end)))
    return generateError (4, end);

 /*
  * ...
  * lot of irrelevant stuff for current question
  * ...
  */

}
我想添加一些基本的酉测试。我已经为辅助函数做好了准备,但我不确定如何使用doGet(request)函数

目前,我正在使用以下方法:

function testDoGet(){
  var queryString = "?start=1&end=5";
  var url = ScriptApp.getService().getUrl() + queryString;
  var options =
      {
        "method"  : "GET",   
        "followRedirects" : true,
        "muteHttpExceptions": true
      };

  Logger.log(url);
  var result = UrlFetchApp.fetch(url, options);
  Logger.log(result);
但这不允许我进行调试,而且它还要求代码已经发布(但没有执行最新的代码),我对验证收到的参数感兴趣(例如)


有什么方法可以模拟这个吗?

我想你可以直接调用它,并像实际的HTTP调用那样提供参数,例如

函数testDoGet(){
var requestMock={
参数:{
起点:1,
完:5
}
};
Logger.log(requestMock);
var结果=doGet(请求模拟);
Logger.log(结果);
}

我想您可以直接调用它,并像实际的HTTP调用那样提供参数,例如

函数testDoGet(){
var requestMock={
参数:{
起点:1,
完:5
}
};
Logger.log(requestMock);
var结果=doGet(请求模拟);
Logger.log(结果);
}