У меня есть код, подобный приведенному ниже, который проверяет, была ли вызвана моя именованная функция с определенными аргументами:
const wrapper = mount(<PromotionsContent {...props} />);
let params = new URLSearchParams();
params.append('page', 0);
params.append('size', '20');
expect(getPromotions).toHaveBeenCalledWith(params);
Здесь getPromotions - это именованная функция, которая правильно импортируется и проверяется в тестовом файле. Раньше это работало нормально, но после обновления моего приложения для использования последней версии CreateReactApp (с React 16.12.0) оно начало ломаться. Я также записал параметры в консоль непосредственно перед тем, где вызывается getPromotions, и я действительно мог видеть правильные значения, но в тесте он просто печатает, как показано ниже, и выдает ошибку:
expect(jest.fn()).toHaveBeenCalledWith(...expected)
- Expected
+ Received
- {},
+ {},
Number of calls: 1
Удивительно, если я напрямую использую вызываемые аргументы как ниже это работает:
const wrapper = mount(<PromotionsContent {...props} />);
let params = new URLSearchParams();
params.append('page', 0);
params.append('size', '20');
let calledParams = getPromotions.mock.calls[0][0];
expect(calledParams.get('page')).toEqual ('0');
expect(calledParams.get('size')).toEqual ('20');
Любые подсказки, пожалуйста?