我有一个可以简化为的项目:
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_member
在 test_environment
中禁用它.
关于flutter - 如何禁用文件夹中的特定分析选项规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71838087/