gpt4 book ai didi

unit-testing - 如何对谷歌应用程序脚本进行单元测试?

转载 作者:行者123 更新时间:2023-12-03 08:30:10 26 4
gpt4 key购买 nike

我正在尝试为 google 应用程序脚本设置单元测试,我发现了两个项目:

https://code.google.com/p/gas-unit/
https://code.google.com/p/gasunit/

所以我很困惑使用哪个:-)

我刚刚尝试了不带连字符的 gasunit,它似乎希望脚本嵌入到电子表格中,我有点不清楚该怎么做……我想测试的脚本是基于 Web 的脚本而不是电子表格那些

我更幸运地测试了带连字符的gas-unit,它设法向我发送了测试的电子邮件输出并在我的谷歌网站中生成了一个结果页面:

https://sites.google.com/site/testappscript2/TestResults

所以我现在打算使用gas-unit,但我真的很想看到谷歌合并的一些官方测试框架。特别是我想找到某种方法让这些脚本以某种频率运行以向我发送结果。我也很想开始一些 BDD;看我的其他帖子:

How to get Cucumber/Capybara/Mechanize to work against external non-rails site
how to use capybara has_text

来吧谷歌,你的所有浴室里都有“测试摇滚,调试很烂”吗?如何为 Google Apps 脚本提供更好的测试支持?

最佳答案

你可以试试QUnit for Google Apps Script .这是一个 patchQUnit使用 API docs 变成了 Google Apps 脚本库.

您所需要的只是一个脚本项目,该项目导入一个 QUnit 库(例如带有项目 key MxL38OxqIK-B73jyDTvCe-OBao7QLBR4j 的库),并具有一个 doGet 函数,该函数使用 URL 参数配置 QUnit,也可以选择使用您自己的设置,加载一个运行您的函数的函数。测试,最后返回 QUnit.getHtml()。下面是一个例子:

function doGet( e ) {
QUnit.urlParams( e.parameter );
QUnit.config({ title: "Unit tests for my project" });
QUnit.load( myTests );
return QUnit.getHtml();
};

// Imports the following functions:
// ok, equal, notEqual, deepEqual, notDeepEqual, strictEqual,
// notStrictEqual, throws, module, test, asyncTest, expect
QUnit.helpers(this);

function myTests() {
module("dummy module");

test("dummy test", 1, function() {
ok(true);
});
}

然后授权脚本,保存它的一个版本,发布脚本项目(“部署为 Web 应用程序”)并使用浏览器转到测试 URL(“最新代码”)。您的测试将运行,结果将通过 HtmlService 显示。您可以单击它们来查看它们的断言,但在撰写本文时,由于 Caja issue 1688,您可能无法在 Firefox 20 和 21 中这样做。 .

关于unit-testing - 如何对谷歌应用程序脚本进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15682346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com