导出默认新 TypeScript 需要 1 个参数,但得到 0.ts(2554) 如何修复?

问题描述 投票:0回答:1

使用 PlayWright 和 TypeScript 进行 QA 工作 尝试避免在规范文件中像

defaultPage = new defaultPage(page);
这样的额外导入只是为了减少代码行并使测试更加漂亮。

new DefaultPage()
下划线为 预期 1 个参数,但得到 0.ts(2554) 这是因为构造函数有一个参数
page: Page
并且导出也寻找参数,但我无法弄清楚它要求的确切参数是什么为了?


import { Page, Locator } from '@playwright/test';
import { basePage } from "../defaultPeage";

export class DefaultPage extends extraPage {

    readonly page: Page;
    readonly defaultButton: Locator;
  
    constructor(page: Page) {
      super(page);
      this.page = page;
      this.defaultButton = page.locator("[type='default']");
    }
}

export default new DefaultPage(); // <- Expected 1 arguments, but got 0.ts(2554) under new DefaultPage()

如果从构造函数中删除arg或将文件重命名为JS错误就会消失,但绝对不是这样。尝试将所有可以想象到的参数添加到

Default Page()
但没有任何帮助

typescript playwright
1个回答
0
投票

您尝试导出

DefaultPage
的实例,但没有向构造函数提供任何内容,尽管它有一个
page: Page
参数,且是 required

要么将此参数标记为可选,这样您就可以在不使用参数的情况下实例化它 (

new DefaultPage()
),或者只是将实例化委托给您实际需要该对象的位置,以便您可以安全地为
page
提供实际值。

© www.soinside.com 2019 - 2024. All rights reserved.