Тестирование аргументов в store.select с использованием jasmine на устаревших селекторах ngrx с реквизитами

Я поддерживаю/разрабатываю угловое веб-приложение, которое использует множество селекторов ngrx с реквизитами.

После обновления с Angular v9 до v13 мне пришлось реорганизовать эти селекторы, потому что RFC: Deprecate Selectors With Props устарели селекторы NGRX с реквизитами в пользу заводских селекторов. Этот рефакторинг был довольно простым, но он повлиял на тестирование.

В частности, я не могу заставить работать жасминовые тесты, которые раньше работали, проверяя, как вызывались селекторы с реквизитами. Раньше проверить, какие аргументы передаются функции store.select, можно было так:

      spyOn(store, 'select');
expect(store.select).toHaveBeenCalledWith( selectorWithPropsFnName, Props );

Но теперь, когда приведенный выше синтаксис обновлен, чтобы справиться с новым подходом селекторов ngrx к этому:

      spyOn(store, 'select');
expect(store.select).toHaveBeenCalledWith( selectorWithPropsFnName(Props) );

тест не проходит с сообщением об ошибке:

Expected [ Function ] to equal [ Function ].

Может ли кто-нибудь пролить свет на то, как теперь это проверять?

Спасибо!

0 ответов

Другие вопросы по тегам