0

我正在编写一些颤振集成测试,我想使用颤振驱动器来运行它们以查看它们的运行情况。运行 good old 时,测试按预期工作flutter test

我正在尝试使用 运行相同的测试flutter drive,当我将所有代码都放在单个文件中时它们可以工作,但现在我已经重构为多个文件,它不起作用。

我已经将我的一些测试器操作分离到一个单独的 dart 文件中,因此我可以使用机器人风格的方法完成测试。但是现在我将我的机器人导入到测试中,运行颤振驱动器时出现以下错误:

org-dartlang-app:/my_end_to_end_test.dart:7:8: Error: Error when reading 'org-dartlang-app:/robots/add_items_to_list_robot.dart': File not found import '../robots/add_items_to_list_robot.dart';

这是测试和机器人的示例:

import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';

import '../robots/add_items_to_list_robot.dart';

void main(){
  IntegrationTestWidgetsFlutterBinding.ensureInitialized();
  setupLocator();

  group('List should', () { 
     testWidgets('Add an item when the add button is selected', () async {
        // Given
        await tester.pumpWidget(const myApp());

        // When
        await tester.typeTextInTextArea('My list item');
        await tester.clickAddToListButton();

        // Then
        expect(this, that); // You know what I'm getting at
     });
  });
}
extension ListItemRobot on WidgetTest {
   Future<void> typeTextInTextArea(String text) {
       // This gets the text area, enters the text
       await pumpAndSettle();
   }

   Future<void> clickAddToListButton() {
       final button = find.byKey(Key('AddButton'));

       await tap(button);
       await pumpAndSettle();
   }
}
4

0 回答 0