跳到主要内容

invalid_use_of_visible_for_testing_member

成员 '{0}' 只能在 '{1}' 或测试中使用。

描述

#

当带有 @visibleForTesting 注解的成员在其声明所在的库之外或 test 目录下的库中被引用时,分析器会生成此诊断信息。

示例

#

给定一个包含以下内容的 c.dart 文件

dart
import 'package:meta/meta.dart';

class C {
  @visibleForTesting
  void m() {}
}

以下代码,当不在 test 目录下时,会产生此诊断信息,因为方法 m 被标记为仅对测试可见

dart
import 'c.dart';

void f(C c) {
  c.m();
}

常见修复

#

如果带有注解的成员不应该在测试之外被引用,则移除引用

dart
import 'c.dart';

void f(C c) {}

如果允许在测试之外引用带有注解的成员,则移除注解

dart
class C {
  void m() {}
}