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 函数声明时只有一个参数,但是当您调用此方法时,您传递了两个参数。
要解决此问题,您需要传递用户对象
我的函数 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 函数声明时只有一个参数,但是当您调用此方法时,您传递了两个参数。 要解决此问题,您需要传递用户对象