Dado el código:
import { getLocale } from './locale'; export const euro = (priceData: number): string => { const priceFormatter = new Intl.NumberFormat(getLocale(), { style: 'currency', currency: 'EUR', }); return priceFormatter.format(priceData); } export default null;y la prueba relacionada:
import { euro } from './currency'; test('euro', () => { expect(euro(42)).toBe("42,00 €"); });broma dice:

Incluso si copio y pego el resultado esperado de Jest en mi afirmación, el error sigue siendo el mismo.
Así que la pregunta es: ¿Por qué diablos? :-D
Desea que esta prueba afirme:
"42,00\xa0€" No es un espacio (diferente código ascii / unicode). De acuerdo con un problema de broma acerca de que la comparación de cadenas es incorrecta Intl.NumberFormat usa un espacio sin interrupciones.
Y como se señaló en la respuesta de una pregunta similar :
NumberFormat utiliza un espacio pequeño sin separación (
\u202f) para el separador de miles y un espacio normal sin separación antes de la moneda (\xa0).