Ошибка Jest при сравнении результата toLocaleString - PullRequest
0 голосов
/ 29 января 2020

Я хочу протестировать метод, который использует toLocaleString, но при сравнении результата jest, я получаю ошибку Error: expect(received).toBe(expected) // Object.is equality, которая не может быть выполнена для пробелов между символом валюты и числом.

enter image description here

Я уже пытался сравнить между ними   и заменить сущность на €, но безуспешно. У вас есть идея, какое решение может быть?

Мой тест:

describe('Test getFormattedCurrencyString', () => {
    test('should convert number to currency string', () => {

        const testInt = 23799.99;
        const result = testInt.toLocaleString('de-DE', {
            style: 'currency',
            currency: 'EUR',
            minimumFractionDigits: 2,
            maximumFractionDigits: 2,
        });

        expect('23.799,99 €').toBe(result);
     });
});

1 Ответ

1 голос
/ 29 января 2020

Чтобы понять, в чем проблема, вы можете попробовать

result.charCodeAt(9); // 160

, который является UTF "неразрывный пробел", вы можете просто скопировать результат с консоли и вставить его в модульный тест.

Редактировать в качестве напоминания о будущем вы можете добавить утверждение

expect(result.charCodeAt(9)).toBe(160)
...