flutter - 如何禁用文件夹中的特定分析选项规则

标签 flutter dart flutter-test

我有一个可以简化为的项目:

lib/
 |- main.dart
test/
test_environment/
 |- test_test.dart

其中 test_environment 包含一组不能简单地运行的“特殊”测试

flutter test

它们需要一些特定的设置(例如:flutter test --dart-define=myVar=myValue)。


在我的lib/main.dart中,我有类似的内容:

class MyClass {
  @visibleForTesting
  MyClass.testConstructor();
}

我想使用 test/test_helper.dart 中的 MyClass.testConstructor()。但当我这样做时,我会收到一个警告:

The member 'MyClass.testConstructor' can only be used within 'package:my_project/lib/main.dart' or a test. dart(invalid_use_of_visible_for_testing_member)`

我想为 test_environment/ 文件夹禁用此规则,但不为 lib/ 文件夹禁用。我怎样才能做到这一点?

最佳答案

我找到的解决方案是创建一个自定义 analysis_options.yaml对于文件夹 test_environment/扩展根analysis_options.yaml :

lib/
 |- main.dart
test/
test_environment/
 |- test_test.dart
 |- analysis_options.yaml
analysis_options.yaml

test_environment/analysis_options.yaml :

include: ../analysis_options.yaml

analyzer:
  errors:
    invalid_use_of_visible_for_testing_member: ignore # <- Disable the analyzer rule.

linter:
  rules:
    only_throw_errors: false # <- An example to show how to disable a linter rule.

这采用根 analysis_options.yaml 设置的分析器/linter 规则并覆盖 invalid_use_of_visible_for_testing_membertest_environment 中禁用它.

关于flutter - 如何禁用文件夹中的特定分析选项规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71838087/

相关文章:

timer - 如何创建基于时间的 Flutter 应用程序?

svg - 在聚合物元件内部使用SVG

flutter - 如何将jsonList中的Json转换为Dart模型?

firebase - 如何为有状态小部件编写测试?

flutter - 如何知道用户何时按下返回页面?

android - 抖动图片可以具有相同的文件名吗?

flutter - Dart继承类并在父类的函数中使用

android - Flutter:为 iOS 和 Android 添加应用程序更新对话框

flutter - 如何在下拉式 flutter 中设置初始默认值

flutter - 如何在flutter中制作可滚动的屏幕?