使用QUnit测试Google Apps脚本网络应用

迈克·沃伦

我有一个以前可以使用的Google Apps脚本网络应用程序,但是当我尝试向“服务器端”添加一些代码时,它破坏了该应用程序。我希望回到该应用程序的不同功能和模块上,并进行一些单元测试以及可能的一点回归测试(即使我的手动回归测试只是失败了)。

我偶然发现了用于GAS单元测试的该库以及使用该库教程问题在于,要实际查看测试结果,您必须实现一个function doGet(e)进行测试的工具。

我正在尝试进行单元测试的这个应用程序,作为一个网络应用程序,已经具有该功能。其实现如下:

function doGet(e) {
  return HtmlService.createTemplateFromFile(
    'potholeMap'
  ).evaluate()
   .setTitle('Pothole Map')
   .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

当我引入QUnit库依赖项并对其进行重构以允许QUnit测试时,如下所示:

function doGet(e) {
    var TESTING = true; 
    if (TESTING)
    {
        QUnit.urlParams(e.parameter);
        QUnit.load(function test() {});
        return QUnit.getHtml();
    }

    return HtmlService.createTemplateFromFile(
        'potholeMap'
    ).evaluate()
        .setTitle('Pothole Map')
        .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

当我尝试运行它时出现此错误:Authorization is required to perform that action.如何解决此问题,以便可以在项目中进行单元测试以及作为Web应用程序运行?

迈克·沃伦

我不知道,当我添加库时,我必须重新授权代码。这是通过运行功能,单击带有“ Authorize”之类的文本的按钮并按照弹出提示授权应用程序来完成的。(如果我只知道如何验证此应用程序,但这是另一个问题...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Google Apps脚本网络应用返回图片?

仅将Google Apps脚本网络应用限制为某些用户

Google Apps脚本:使用cURL测试doPost()

部署为网络应用程序的Google Apps脚本的身份验证问题

Google脚本:仅在使用网络应用程序时找不到doGet函数?

自定义表单(网络应用)可发送价值并将其与Google Apps脚本一起使用

如何使用Google Apps脚本从网络中的公共CSV过滤数据?

如何在Google Apps脚本中获取发布到网络电子表格的ID

Google Apps脚本网络应用中出现新的“未定义currentURL”错误

正确安全登录(登录)为通过网络应用程序部署的Google Apps脚本项目

在Google Apps脚本网络应用中的云端硬盘中呈现HTML文件

无法使用访问令牌访问部署为网络应用程序的Google Apps脚本

如何将需要授权的独立Google Apps脚本网络应用嵌入新的Google协作平台?

Google Apps脚本配额如何用于网络应用程序中的doGet和doPost函数?

在Google Apps脚本网络应用中,获得redirect_uri_mismatch,但我可能走得不对

Google脚本网络应用提交后变为空白页

如何通过Google Apps脚本应用GoogleSheet Filterview?

是否可以在Google Apps脚本网络应用中使用多种身份验证?

如何将Google Apps脚本网络应用发布到G-Suite市场?

Google Apps脚本网络应用的Drive API推送通知

如何刷新页面,Google应用脚本网络

Chrome更新后,无法在Google Apps脚本网络应用中下载文件

在网络应用程序Google Apps脚本上呈现部分Google电子表格

如何在执行该项目中功能的Google Apps脚本网络应用中创建按钮?

从部署的网络应用程序下载创建的Google文档(Google Apps脚本)

如何使用新的编辑器部署新版本的Google Apps网络应用

用于在用户的myDrive文件夹中创建文件夹的Google Apps脚本网络应用仅将文件发送到“我的云端硬盘”(应用的创建者)

在Google Apps脚本网络应用中使用Google Visualization API显示GSheet范围时出错

将网络表单值返回到Google应用脚本