Buildkite Collectors for JavaScript
Official Buildkite Test Analytics collectors for JavaScript test frameworks ✨
⚒ Supported test frameworks: Jest, Jasmine, Mocha, and more coming soon.
📦 Supported CI systems: Buildkite, GitHub Actions, CircleCI, and others via the BUILDKITE_ANALYTICS_*
environment variables.
👉 Installing
-
Create a test suite, and copy the API token that it gives you.
-
Add the buildkite-test-collector
package:
npm install --save-dev buildkite-test-collector
yarn add --dev buildkite-test-collector
-
Add the buildkite test collector to your testing framework:
Jest
Update your Jest configuration:
reporters: [
'default',
'buildkite-test-collector/jest/reporter'
],
testLocationInResults: true
Jasmine
Add the buildkite reporter to jasmine:
var BuildkiteReporter = require('buildkite-test-collector/jasmine/reporter');
var buildkiteReporter = new BuildkiteReporter();
jasmine.getEnv().addReporter(buildkiteReporter);
Mocha
Install mocha-multi-reporters in your project:
npm install mocha-multi-reporters --save-dev
and configure it to run your desired reporter and the Buildkite reporter
{
"reporterEnabled": "spec, buildkite-test-collector/mocha/reporter"
}
Now update your test script to use the buildkite reporter via mocha-multi-reporters:
"scripts": {
"test": "mocha --reporter mocha-multi-reporters --reporter-options configFile=config.json"
},
-
Run your tests locally:
env BUILDKITE_ANALYTICS_TOKEN=xyz npm test
-
Add the BUILDKITE_ANALYTICS_TOKEN
secret to your CI, push your changes to a branch, and open a pull request 🎉
git checkout -b add-bk-test-analytics
git commit -am "Add Buildkite Test Analytics"
git push origin add-bk-test-analytics
🔍 Debugging
To enable debugging output, set the BUILDKITE_ANALYTICS_DEBUG_ENABLED
environment variable to true
.
🔜 Roadmap
See the GitHub 'enhancement' issues for planned features. Pull requests are always welcome, and we’ll give you feedback and guidance if you choose to contribute 💚
⚒ Developing
After cloning the repository, install the dependencies:
npm install
And run the tests:
npm test
Useful resources for developing collectors include the Buildkite Test Analytics docs and the RSpec and Minitest collectors.
👩💻 Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/buildkite/test-collector-javascript
🚀 Releasing
npm version [major/minor/patch]
git push && git push --tags
npm publish
open "https://github.com/buildkite/test-collector-javascript/releases"
📜 License
The package is available as open source under the terms of the MIT License.