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

Dart测试中对Exception做类型检查返回错误结果的原因咨询

问题分析与解决

你的测试失败核心原因是错误地将Exception类型本身当成了实例。

  • 代码里const error = Exception;这行,Exception是类的类型标识,而非实例创建语句,所以error存储的是Exception类的类型对象(Type类型),不是Exception的实例。
  • 执行error is Exception时,实际是判断Type类型对象是否属于Exception实例,结果自然为false,导致测试不通过。

修复方法

要创建Exception的实例,需要添加括号调用构造函数:

test('test error', () async {
  const error = Exception(); // 加括号创建实例
  const a = error is Exception;
  expect(a, true);
});

此时error是Exception的合法实例,error is Exception会返回true,测试即可通过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 05:04:57