使用 QUnit 测试 Google Apps Script 网络应用程序
Testing Google Apps Script web app with QUnit
我有一个 Google Apps Script 网络应用程序,它以前可以运行,但是当我尝试向 "server-side" 添加一些代码时,它破坏了该应用程序。我希望返回并在此应用程序的不同功能和模块上进行一些单元测试,并可能进行一些回归测试(即使我的手动回归测试刚刚失败)。
我偶然发现了 this library for GAS unit testing and a tutorial for using the library。问题是,要真正看到测试结果,您必须实施 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.
我该如何解决这个问题以便我可以在项目中进行单元测试,以及 运行 它作为网络应用程序?
我不知道,当我添加库时,我必须 re-authorize 代码。这是通过 运行 函数完成的,单击带有 "Authorize" 等文本的按钮,然后按照弹出提示授权应用程序。 (要是我知道如何验证这个应用就好了,但那是另一个问题了...)
查看 QUnitGS2 - 使用最新版本 QUnit (v2.10.1) 的新 Apps 脚本库。
有关如何通过使用查询字符串创建您自己的路由器来 运行 与现有网络应用一起进行测试的说明。
我有一个 Google Apps Script 网络应用程序,它以前可以运行,但是当我尝试向 "server-side" 添加一些代码时,它破坏了该应用程序。我希望返回并在此应用程序的不同功能和模块上进行一些单元测试,并可能进行一些回归测试(即使我的手动回归测试刚刚失败)。
我偶然发现了 this library for GAS unit testing and a tutorial for using the library。问题是,要真正看到测试结果,您必须实施 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.
我该如何解决这个问题以便我可以在项目中进行单元测试,以及 运行 它作为网络应用程序?
我不知道,当我添加库时,我必须 re-authorize 代码。这是通过 运行 函数完成的,单击带有 "Authorize" 等文本的按钮,然后按照弹出提示授权应用程序。 (要是我知道如何验证这个应用就好了,但那是另一个问题了...)
查看 QUnitGS2 - 使用最新版本 QUnit (v2.10.1) 的新 Apps 脚本库。
有关如何通过使用查询字符串创建您自己的路由器来 运行 与现有网络应用一起进行测试的说明。