English - 日本語
Testing library for Google Apps Script.
Result will be logged to Logger, or posted to Slack.
project key: MSnMmw8hLWgjUG6uKSTQBEzVZgzu5bsVr
You can use Exports style to write tests (for now).
Exports style is inspired by Mocha.
Use Logger:
var exports = GASUnit.exports
var assert = GASUnit.assert
function test_array () {
exports({
'Array': {
'#indexOf()': {
'should return -1 when not present': function () {
assert([1, 2, 3].indexOf(4) === -1)
},
'should return the index when present': function () {
assert([1, 2, 3].indexOf(3) === 3)
}
}
}
})
}
Use Slack:
var WEBHOOK_URL = 'https://...'
var exports = GASUnit.slack(WEBHOOK_URL).exports
var assert = GASUnit.assert
function test_array () {
exports({
'Array': {
'#indexOf()': {
'should return -1 when not present': function () {
assert([1, 2, 3].indexOf(4) === -1)
},
'should return the index when present': function () {
assert([1, 2, 3].indexOf(3) === 3)
}
}
}
})
}
If you're publishing source code, should not write webhook url as a literal.
You can use properties as environment variables.
var WEBHOOK_URL = PropertiesService.getScriptProperties().getProperty('WEBHOOK_URL')
var exports = GASUnit.slack(WEBHOOK_URL).exports
var assert = GASUnit.assert
function test_array () {
exports({
'Array': {
'#indexOf()': {
'should return -1 when not present': function () {
assert([1, 2, 3].indexOf(4) === -1)
},
'should return the index when present': function () {
assert([1, 2, 3].indexOf(3) === 3)
}
}
}
})
}
Or you can...
var WEBHOOK_URL = PropertiesService.getScriptProperties().getProperty('WEBHOOK_URL')
var exports = WEBHOOK_URL ? GASUnit.slack(WEBHOOK_URL).exports : GASUnit.exports
var assert = GASUnit.assert
function test_array () {
exports({
'Array': {
'#indexOf()': {
'should return -1 when not present': function () {
assert([1, 2, 3].indexOf(4) === -1)
},
'should return the index when present': function () {
assert([1, 2, 3].indexOf(3) === 3)
}
}
}
})
}
Run test function on browser.
Success:
Fail:
Success:
Fail:
GASUnit provides minimum assert function which verify whether value is truthy.
You can use any assertion library (for Google Apps Script).
GASUnit also provides AssertGAS as official assertion library.
You can use the badge to show that your project is using GASUnit.
Markdown:
[![tested by GASUnit](https://img.shields.io/badge/tested%20by-GASUnit-%234285F1)](https://github.com/gasunit/GASUnit)
HTML:
<a href="https://github.com/gasunit/GASUnit"><img src="https://img.shields.io/badge/tested%20by-GASUnit-%234285F1" alt="tested by GASUnit"></a>
See package.json
See gasunit/example