如何在没有玩笑的情况下使用玩笑



我有一个关于扩展Typescript接口的问题。这是我的情况:

我在没有Jest的测试中使用expect(我单独安装了它,它可以工作(。

现在我想使用jest-dom为DOM添加expect匹配器。(它们非常有用,会让我的测试更容易编写(。

我做了以下扩展预期

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仍在抱怨。

有什么想法吗?

我找到了解决方案,以下是

import 'expect/build/types'
declare module 'expect/build/types' {
export interface Matchers<R> {
// matchers methods here
}
}

相关内容

  • 没有找到相关文章

最新更新