Как использовать jest-dom без Jest
У меня вопрос о расширении интерфейсов Typescript. Вот моя ситуация:
Я использую
expect
в моих тестах без Jest (я установил отдельно и работает).
Теперь я хочу использовать
jest-dom
добавить
expect
сопоставители для DOM. (они очень полезны и облегчат написание моих тестов).
Я сделал следующее, чтобы продлить ожидание
import expect from 'expect'
import * as matchers from '@testing-library/jest-dom/matchers'
expect.extend(matchers)
Это работает и добавляет сопоставители, но Typescript о них не знает.
Я установил
@types/testing-library/jest-dom
Но это не решило проблему.
Заглядывая внутрь
@types/testing-library__jest-dom
Я вижу, что это расширяет типы
jest
а не отдельный
expect
.
Я пробовал добавить
expect.d.ts
со следующим содержанием:
import 'expect'
declare module 'expect' {
export interface Matchers<R> {
toBeInTheDOM(container?: HTMLElement | SVGElement): R
// ... other methods
}
}
Но Typescript все еще жалуется.
Есть идеи?
1 ответ
Я нашел решение, следующие работы
import 'expect/build/types'
declare module 'expect/build/types' {
export interface Matchers<R> {
// matchers methods here
}
}