[Bug]: Custom snapshot serializer not used when reporting error diffs
Version
29.7.0
Steps to reproduce
- Unpack this tarball: 2024-danfuzz-jest-demo.tar.gz
npm installnpm test
Expected behavior
I expect to see the custom serializer used when displaying the diffs between the expected and received values in the second test case (test('fails, thereby demonstrating the problem', ...)). In this case it should probably look like this:
- Expected - 2
+ Received + 2
new SomeClass(
- "zorch",
- "florp")
+ "foo",
+ "bar")
Actual behavior
The custom serializer is ignored. The salient part of the reported error looks like this, which is unfortunately not very helpful:
Expected: {}
Received: serializes to the same string
Additional context
I tried adding the custom serializer both via the config file (snapshotSerializers) and using expect.addSnapshotSerializer() in the test file. Neither seems to work.
The first test in example.test.js is there to demonstrate that the serializer is indeed hooked up.
In case it's useful, here's the example tarball in base64-encoded form:
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
+0nNn8gu1ZrV6qGkfxISEhJvHP8BDZDuIgBUAAA=
Environment
System:
OS: macOS 14.7.1
CPU: (8) arm64 Apple M1
Binaries:
Node: 23.2.0 - /opt/homebrew/bin/node
Yarn: 1.22.22 - /opt/homebrew/bin/yarn
npm: 10.9.0 - /opt/homebrew/bin/npm
npmPackages:
jest: ^29.7.0 => 29.7.0
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
Hi! Commenting to keep this open. I believe it's worth addressing.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
Hi! Commenting to keep this open. I believe it's worth addressing.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
Hi! Commenting to keep this open. I believe it's worth addressing.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
Hi! Commenting to keep this open. I believe it's worth addressing.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
Hi! Commenting to keep this open. I believe it's worth addressing.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
Hi! Commenting to keep this open. I believe it's worth addressing.
Please send a PR.
@cpojer I'm glad to find out a PR would even be considered by the project.
I'd like to request that the issue get formally triaged by someone with that authority.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
Hi! Commenting to keep this open. I believe it's worth addressing. @cpojer suggested I write a PR, which I might be able to do (I've looked at the code enough to have at least some sense of how it works), but I'm definitely not going to give it a go until/unless this issue actually gets triaged.
Thanks for your collective consideration, and thanks to the folks who work on the project for all you've done.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
Hi! Commenting to keep this open. I believe it's worth addressing.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
This issue was closed because it has been stalled for 30 days with no activity. Please open a new issue if the issue is still relevant, linking to this one.
This issue was closed because it has been stalled for 30 days with no activity. Please open a new issue if the issue is still relevant, linking to this one.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.