When working on recording.config.js' normalize function, especially via trial & error, it sucks that the same fixture keys are no longer valid because of hashing mechanisms.
(That's why I wonder if it's better to have a hashing mechanism that doesn't change often, but that's basically what normalize is)
One opportunity is to read all existing fixtures & normalize them when the expected one can't be found, then see if they match up.
(Basically keeping a giant map in memory, but this seems like a bad idea)
The downside to this is that, without that determinism, new recordings will generate new hashes (since you're fine-tuning the normalize function).
Maybe instead there could be a PRUNE mode, which is basically REPLAY but prunes any unused recordings?
When working on
recording.config.js'normalizefunction, especially via trial & error, it sucks that the same fixture keys are no longer valid because of hashing mechanisms.(That's why I wonder if it's better to have a hashing mechanism that doesn't change often, but that's basically what
normalizeis)One opportunity is to read all existing fixtures & normalize them when the expected one can't be found, then see if they match up.
(Basically keeping a giant map in memory, but this seems like a bad idea)
The downside to this is that, without that determinism, new recordings will generate new hashes (since you're fine-tuning the
normalizefunction).Maybe instead there could be a
PRUNEmode, which is basicallyREPLAYbut prunes any unused recordings?