[Unit-Testing] Wie teste ich Google Apps-Skripte?


Answers

Ich habe gerade ein weiteres Test-Framework namens GasT für meine Google-Tabellenkalkulations-Add-On-Entwicklung und -Test geschrieben.

GasT ist ein TAP-konformes Testframework für Google Apps Script. Es bietet eine einfache Möglichkeit, um zu überprüfen, ob sich die GAS-Programme, die Sie schreiben, wie erwartet verhalten. https://github.com/zixia/gast

Mein Ziel ist es, ein einfaches Tap-Tool wie Band (für Javascript) oder Fledermäuse (für bash) zu bekommen. Das Testsuite-Format ist ziemlich klar:

var gastLibUrl = 'https://raw.githubusercontent.com/zixia/gast/master/gas-tap.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()
}

Hoffe jemand wird es mögen. :)

Es gibt eine Online-Version, die Sie hier einsehen können : https://docs.google.com/spreadsheets/d/19M2DY3hunU6tDQFX5buJmZ_f3E8VFmlqAtodyC-J8Ag/edit#gid=0&vpid=A1

Question

Ich versuche, mit Unit-Tests für Google App-Skripts eingerichtet zu werden, und habe zwei Projekte gefunden:

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

Also ich bin verwirrt was zu benutzen ist :-)

Ich habe mich einfach mit der unhyphenierten Gaseinheit beschäftigt, die zu erwarten scheint, dass das Skript in eine Tabellenkalkulation eingebettet ist, wobei ich ein wenig unklar bin, wie ich vorgehen soll ... und die Skripte, die ich testen möchte, sind webbasierte Skripte und keine Tabellenkalkulation. Einsen

Ich hatte mehr Glück beim Testen der mit Bindestrich versehenen Gaseinheit, die es geschafft hat, mir sowohl eine E-Mail-Ausgabe des Tests zu senden, als auch eine Ergebnisseite in meiner Google-Website zu generieren:

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

Ich werde also vorerst mit einer Gaseinheit arbeiten, aber ich würde gerne ein offizielles Test-Framework von Google sehen. Insbesondere würde ich gerne einen Weg finden, diese Skripte mit einer gewissen Häufigkeit laufen zu lassen, um mir die Ergebnisse zu schicken. Auch würde ich gerne etwas BDD machen; siehe meine anderen Beiträge:

Wie bekomme ich Gurke / Capybara / Mechanize um mit externen non-rails Seiten zu arbeiten wie man capybara benutzt has_text

Kommt Google, haben Sie bekanntlich "Testing Rocks, Debugging Sucks" in allen Ihren Bädern? Wie wäre es mit einer besseren Testunterstützung für Google Apps Scripts?




Es gibt jetzt ein node-google-apps-script- Paket, das die Verwendung von Standard-JavaScript-Paketen und automatisierten Testtools ermöglicht.

  1. npm install -g node-google-apps-script .
  2. Führen Sie die Autorisierungsschritte durch, um Clientgeheimnisse bereitzustellen, mit denen das Hochladen und Importieren von Apps Script-Projekten ermöglicht wird.
  3. Verwenden Sie gulp oder grunt oder was auch immer Sie verwenden, um normale JavaScript-Projekte zu testen.

Es gibt ein offizielles Google-Beispiel , das diesen Workflow verwendet.

Weitere Informationen finden Sie in der Google Apps Developer Blog-Ankündigung .




Links