typescript 类型“MakeMatchers”上不存在属性“x”

7ivaypg9  于 2022-11-26  发布在  TypeScript
关注(0)|答案(1)|浏览(166)

我是Typescript的新手,很难理解为什么会出现此错误:

在文件的顶部,我从Playwright导入了expectimport {expect} from "@playwright/test";
这个函数来自@playwright/test声明文件test.d.ts中的interface PageAssertions{ //。然而,我似乎可以使用'expect-types.d.ts中的任何Assert而不会出错。
我已经尝试在我的package.json中安装以下作为dev和标准依赖项:

"dependencies": {
  "@playwright/test": "^1.28.1",

我没有在其他地方导入expect(即从Jest)。
我在节点模块中看到:

n53p2ov0

n53p2ov01#

我无法重现这一点,即使稍微复杂一点也不行。
我创建了一个名为title-checker.ts的文件

import { expect, Page } from "@playwright/test";

export class TitleChecker {
    constructor(readonly page: Page){}

    checkTitle(title: string) {
        expect(this.page).toHaveTitle(title);
    }
}

然后我有这个测试:

import { test, expect } from '@playwright/test';
import { TitleChecker } from './title-checker';

test('wait', async ({ context, page }) => {
  await page.goto("https://www.mabl.com");
  await page.locator('"Login"').click();
  new TitleChecker(page).checkTitle('login | mabl');
});

一切都在意料之中。

相关问题