Sentry Testkit enables Sentry to work natively in your application while running tests. The report is not really sent but rather logged locally into memory. In this way, the logged reports can be fetched for your own verification or any other purpose in y
npm install sentry-testkitSentry is an open-source JavaScript SDK published by Sentry to enable error tracking that helps developers monitor and fix crashes in real time.
However, when building tests for your application, you want to assert that the right flow-tracking or error is being sent to _Sentry_, but without really sending it to _Sentry_ servers. This way you won't swamp Sentry with false reports during test running and other CI operations.
_Sentry Testkit_ enables Sentry to work natively in your application, and by overriding the default Sentry transport mechanism, the report is not really sent but rather logged locally into memory. In this way, the logged reports can be fetched later for your own usage, verification, or any other use you may have in your local developing/testing environment.
npm:
```
npm install sentry-testkit --save-dev`
yarn:`
yarn add sentry-testkit --dev
`javascript
// some.spec.js
const sentryTestkit = require('sentry-testkit')
const {testkit, sentryTransport} = sentryTestkit()
// initialize your Sentry instance with sentryTransport
Sentry.init({
dsn: 'some_dummy_dsn',
transport: sentryTransport,
//... other configurations
})
test('collect error events', function () {
// run any scenario that eventually calls Sentry.captureException(...)
expect(testkit.reports()).toHaveLength(1)
const report = testkit.reports()[0]
expect(report).toHaveProperty(...)
});
// Similarly for performance events
test('collect performance events', function () {
// run any scenario that eventually calls Sentry.startTransaction(...)
expect(testkit.transactions()).toHaveLength(1)
});
`
See full API description and documentation here: https://zivl.github.io/sentry-testkit/
sentry-testkit relies on express and http packages from NodeJS. We have separated entry sentry-testkit/browser where we not include any NodeJS-related code.
`javascript
const sentryTestkit = require('sentry-testkit/browser')
const { testkit } = sentryTestkit()
// Your code for browser
`
documentation can be found here. It it still there to serve Raven` which is the old legacy SDK of _Sentry_ for JavaScript/Node.js platformsSentry Testkit is MIT licensed.