我想将变量传递给在纯 Dart 中运行的测试,就像在 Flutter 中传递变量一样。
颤动示例:
$ flutter test --dart-define=FOO=BAR
test('Value is correct', () {
expect(const String.fromEnvironment('FOO'), 'BAR'); // passes
});
飞镖示例:
$ dart test --dart-define=FOO=BAR
Could not find an option named "dart-define".
这可能吗?
flutter test --dart-define=FOO=BAR
的等价物似乎是dart --define=FOO=BAR test
或dart -DFOO=BAR test
。请注意,Dart 命令中 test
写在 --define
标志之后。
在撰写评论时,
--define
标志在如上面示例所示使用时仍然不起作用。为了让它工作,我们需要将 --use-data-isolate-strategy
添加到命令末尾。这似乎是 Dart 中的一个错误,如此问题所示。
最终这将是等效的:
dart --define=FOO=BAR test --use-data-isolate-strategy
dart -DFOO=BAR test --use-data-isolate-strategy