我无法在 Dart 插件中运行单个测试文件

peo*_*mes 5 android unit-testing dart flutter

我正在为 Dart 和 Flutter 开发一个插件,并且我已经开始使用一套测试,因为它是从 Java 实现移植的。

我看到的问题是我可以运行所有测试,但我无法运行单个测试文件或调试它。

我使用了 Android Studio 项目生成器并选择了“Flutter Package”

我相信问题在于 android studio 没有将测试识别为 flutter 测试并且没有包含所需的导入。

测试代码如下所示;

import 'package:flutter_test/flutter_test.dart';

void main() {
  test('Test Name', () {
    ///Test cases in here
  });
}
Run Code Online (Sandbox Code Playgroud)

我在尝试运行或调试单个测试时看到的错误是;

file:///E:/flutter/packages/flutter_test/lib/src/accessibility.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
       ^
file:///E:/flutter/packages/flutter_test/lib/src/binding.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
       ^
file:///E:/flutter/packages/flutter_test/lib/src/matchers.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
       ^
file:///E:/flutter/packages/flutter_test/lib/src/matchers.dart:9:8: Error: Not found: 'dart:ui'
import 'dart:ui';
       ^
file:///E:/flutter/packages/flutter_test/lib/src/test_pointer.dart:12:1: Error: Not found: 'dart:ui'
export 'dart:ui' show Offset;
^
file:///E:/flutter/packages/flutter/lib/src/rendering/binding.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show window;
       ^
file:///E:/flutter/packages/flutter/lib/src/rendering/box.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show lerpDouble;
       ^
file:///E:/flutter/packages/flutter/lib/src/rendering/debug_overflow_indicator.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
       ^
file:///E:/flutter/packages/flutter/lib/src/rendering/editable.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show TextBox, lerpDouble;
       ^
file:///E:/flutter/packages/flutter/lib/src/rendering/error.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show Paragraph, ParagraphBuilder, ParagraphConstraints, ParagraphStyle, TextStyle;
       ^

Process finished with exit code 254
Run Code Online (Sandbox Code Playgroud)

是否有我在这里遗漏的其他配置步骤,或者package:flutter_test/flutter_test.dart我应该在这里使用的替代方法?

我试图用纯 dart 测试替换 flutter 测试,但随后甚至没有测试加载。错误是;

Failed to load test harness. Are you missing a dependency on flutter_test?

peo*_*mes 11

好的,所以我实际上找到了解决方案。

在 Android Studio 的 run 下拉菜单中选择Edit Configurations
然后按下+按钮并选择Flutter test
确保测试范围是All in file并将其指向您的测试文件。
您现在可以运行单个测试文件,也可以通过在运行下拉列表中选择此配置在 android studio 中调试它。