You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jest中Mock继承类时缺少options参数报错问题排查

解决Jest Mock Color类时的构造参数报错问题

报错An argument for 'options' was not provided.的原因很明确:MockColor继承了Color类,而Color的构造函数强制要求传入包含token的options参数,你实例化MockColor时未传递该参数,因此触发报错。

两种可行解决方式:

1. 直接传入模拟的options参数

不需要修改MockColor的类定义,实例化时直接传递一个符合要求的模拟参数即可:

// 实例化时传入模拟options,token为必填项,baseUrl可选
const colorClass = new MockColor({ token: 'test-mock-token', baseUrl: 'http://mock-url.com' });

2. 给MockColor显式定义构造函数(如需自定义逻辑)

如果MockColor需要额外的构造逻辑,可以显式声明构造函数,注意必须调用super()将参数传递给父类构造器:

class MockColor extends Color {
  // 显式定义构造函数,调用super传递options给父类
  constructor(options: { token; baseUrl? }) {
    super(options);
    // 此处可添加MockColor专属的构造逻辑
  }

  public async post(): Promise<any> {
    return { response: [mockReturn] };
  }
}

// 实例化时传入模拟参数
const colorClass = new MockColor({ token: 'mock-token' });

修改后,测试代码就能正常实例化MockColor,不会再触发构造参数缺失的报错。

内容的提问来源于stack exchange,提问作者Woppi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 11:05:22