Testing an integration #6825
-
| Hi! I'm working on an integration for breadcrumb support for pino(#4192). I've made a temporary repository for some fast testing, I've made the import {Pino} from "../src/index"; import { EventHint, captureMessage, NodeClient } from "@sentry/node"; import pino from "pino"; import { createTransport, Hub } from '@sentry/core'; import { resolvedSyncPromise } from '@sentry/utils'; import { NodeClientOptions } from "@sentry/node/types/types"; import * as sentryCore from '@sentry/core'; const logger = pino(); export function getDefaultNodeClientOptions(options: Partial<NodeClientOptions> = {}): NodeClientOptions { return { integrations: [new Pino(logger)], transport: () => createTransport({ recordDroppedEvent: () => undefined }, _ => resolvedSyncPromise({})), stackParser: () => [], instrumenter: 'sentry', ...options, }; } describe('basic', () => { it('foo', () => { let output: null | "beforeSend" = null; const options = getDefaultNodeClientOptions({ beforeSend: (event, hint: EventHint) => { output = "beforeSend"; return null; }, }) const client = new NodeClient(options); const hub = new Hub(client); sentryCore.makeMain(hub); logger.info({data: {"someData": "yes!"}}, "Log message"); hub.captureException(new Error("Here is an error")); expect(output).toBe("beforeSend"); }); });However:
I just want to test this, but without setting up a sentry project and having lots of side effects when I run the tests. I couldn't really find anything on how I can set up an integration and test it? Are there any good practices? |
Beta Was this translation helpful? Give feedback.
Answered by AbhiPrasad Jan 18, 2023
Replies: 1 comment
-
| Locking as it seems it was a dup of #6826 (and you figured it out there). |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by smeubank
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Locking as it seems it was a dup of #6826 (and you figured it out there).