Sam*_*eph 34 unit-testing google-apps-script
我正在尝试设置谷歌应用程序脚本的单元测试,我发现了两个项目:
https://code.google.com/p/gas-unit/ https://code.google.com/p/gasunit/
所以我很困惑使用哪个:-)
我刚接触了unhyphenated gasunit,似乎期望脚本嵌入在电子表格中,我对如何做有点不清楚......我要测试的脚本是基于Web的脚本而不是电子表格那些
我有更多的运气测试连字符气体单元,它设法向我发送测试的电子邮件输出并在我的谷歌网站生成结果页面:
https://sites.google.com/site/testappscript2/TestResults
所以我现在打算加油机,但我真的很想看到一些由谷歌合并的官方测试框架.特别是我想找到一些方法让这些脚本以某种频率运行,以便向我发送结果.我也很想得到一些BDD; 看到我的其他帖子:
如何让Cucumber/Capybara/Mechanize对抗外部非rails网站 如何使用capybara has_text
来吧谷歌,你所有的浴室都有"测试岩石,调试糟透了"吗?如何更好地测试对Google Apps脚本的支持?
ada*_*dam 17
您可以尝试使用QUnit for Google Apps Script.这是一个补丁,QUnit变成了一个带有API文档的Google Apps脚本库.
您所需要的只是一个脚本项目,它导入一个QUnit库(例如带有项目键的库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问题1688,您可能无法在Firefox 20和21中这样做.
我刚为我的谷歌电子表格插件开发和测试编写了另一个名为GasT的测试框架.
GasT是适用于Google Apps脚本的符合TAP标准的测试框架.它提供了一种简单的方法来验证您编写的GAS程序是否按预期运行.https://github.com/zixia/gast
我的目标是获得一个简单的点击工具,如磁带(用于javascript)或蝙蝠(用于bash).测试套件格式非常清楚:
var gastLibUrl = 'https://raw.githubusercontent.com/zixia/gast/master/src/gas-tap-lib.js'
eval(UrlFetchApp.fetch(gastLibUrl).getContentText())
var test = GasTap.setPrintDriver('Logger') 
function gast() {
  test('do calculation right', function (t) {    
    var i = 3 + 4
    t.equal(i, 7, 'I can calc 3 + 4 = 7')
  })
  test('Spreadsheet exist', function (t) {
    var ss = SpreadsheetApp.openById('1TBJpvlW3WWney4rk1yW5N9bAP8dOMkWxI97dOtco-fc')
    t.ok(ss, 'I can open spreadsheet')
  })
  test.finish()
}
希望有人会喜欢它.:)
有一个在线版本,您可以在这里查看:https://docs.google.com/spreadsheets/d/19M2DY3hunU6tDQFX5buJmZ_f3E8VFmlqAtodyC-J8Ag/edit#gid=0&vpid=A1
该clasp工具提供了从命令行本地开发和部署Apps Script项目的功能。
从clasp仓库中:
npm install -g @google/claspclasp工具进行部署。编辑该node-google-apps-script项目已不赞成使用clasp
有一个node-google-apps-script软件包,可以使用标准JavaScript软件包和自动测试工具。
npm install -g node-google-apps-script。gulp或grunt或任何其他方式测试运行正常的JavaScript项目。有一个正式的Google示例可使用此工作流程。
有关更多详细信息,请参见Google Apps开发人员博客发布公告。
下载文件后,通过将其重命名为.ts而不是,将它们转换为TypeScript .js。一旦它们是TypeScript,ava就可以用来对其进行测试。将它们转换为TypeScript还可以让他们使用ES6语言功能。
| 归档时间: | 
 | 
| 查看次数: | 10384 次 | 
| 最近记录: |