如何禁用文件夹中的特定分析选项规则
How to disable a specific analysis option rule in a folder
我有一个项目可以简化为:
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
设置的 analyzer/linter 规则并覆盖 invalid_use_of_visible_for_testing_member
以在 test_environment
中禁用它。
我有一个项目可以简化为:
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
设置的 analyzer/linter 规则并覆盖 invalid_use_of_visible_for_testing_member
以在 test_environment
中禁用它。