TypeScript 需要 1 个参数,但得到 2 个

TypeScript Expected 1 arguments, but got 2

我的函数 createUser() 有什么问题? 为什么我不能将参数放入 Smoke.ts ?

Login.ts :

interface User {
  url: string,
  email: string,
}

class Test{ 
async createUser(user: User) {
    await Page.setUrl(user.url);
    await Page.setEmail(user.email);


   
  }
}

Smoke.ts

test("Smoke Test", async (t) => {
  console.log("Starting test");  
  await Login.createUser(
  "google.com","joe"
  );

出现错误:需要 1 个参数,但得到 2 个。

方法 createUser 需要一个具有以下形状的对象: { url: 字符串, 电子邮件:字符串, }

并且您正在传递一个字符串作为第一个参数,另一个字符串作为第二个参数。

你应该像这样传递一个对象:

createUser({ 
   url: 'google.com', 
   email: 'joe' 
})

顺便说一句,你为什么在这里使用“接口”而不是“类型”? 类型更常用于定义对象形状,界面通常用于描述行为

您的 createUser 函数声明时只有一个参数,但是当您调用此方法时,您传递了两个参数。 要解决此问题,您需要传递用户对象