Я пишу тесты и использую имитацию объекта history
, однако TS продолжает выдавать следующую ошибку:
Type '{}' is missing the following properties from type 'Location<IHistoryMock>': pathname, search, state, hash
Я не знаю, как это обойти. Я пробовал расширять интерфейс истории и переписывать его всеми возможными способами. Вот что у меня есть:
import { History, Location } from 'history';
interface IHistoryMock extends History {
location: Location | any;
}
const historyMock: History<IHistoryMock> = { push: jest.fn(), createHref: () => '', location: { }, listen: jest.fn() };
mount(
<Router history={historyMock}>
<Component id="id" />
</Router>
);
Typescript подчеркивает location: { }
и выдает указанную выше ошибку. Я неправильно набираю History
? Мне нужно, чтобы location
был здесь пустым объектом, и я не хочу использовать тип any
.