Могу ли я запустить несколько интеграционных тестов с одним файлом конфигурации во Flutter? - PullRequest
2 голосов
/ 21 мая 2019

Я пытаюсь написать интеграционные тесты Flutter и запустить их все с одним файлом конфигурации вместо создания файла конфигурации для каждого отдельного теста. Есть ли способ сделать это?

На данный момент у меня есть login.dart, login_test.dart и т. Д. Для каждого теста. Я знаю, что все конфигурации и тестовые файлы должны иметь одинаковые имена, но это не то, что мне нужно, приветствуются более настраиваемые вещи. Заранее спасибо.

Это мой конфигурационный файл (login.dart)

import 'package:flutter_driver/driver_extension.dart';
import 'package:seve/main.dart' as app;

void main() {
enableFlutterDriverExtension();
app.main();
}

И тест (login_test.dart) выглядит примерно так

import ...

FlutterDriver driver;

void main() {

setUpAll(() async {
driver = await FlutterDriver.connect();
});

tearDownAll(() async {
if (driver != null) {
  driver.close();
}
});

test('T001loginAsDriverAndVerifyThatDriverIsLogedInTest', () async {
  some_code...
});
});

Теперь я хочу создать новый тестовый файл (например, login_warning.dart) и иметь возможность запустить оба теста, вызвав один файл конфигурации (login.dart). Это вообще возможно?

1 Ответ

1 голос
/ 25 июня 2019

Да, возможно запуск нескольких «тестовых» файлов с одним и тем же «конфигом».

На жаргонном жаргоне ваш файл конфигурации - это target , а ваш тестовый файл - ваш драйвер .Ваша цель всегда login.dart, но у вас есть два драйвера login_test.dart и login_warning.dart.

С помощью команды flutter drive вы можете указать target, а также driver.

Таким образом, чтобы запустить оба драйвера, просто выполните следующие команды

flutter drive --target=test_driver/login.dart --driver=test_driver/login_test.dart
flutter drive --target=test_driver/login.dart --driver=test_driver/login_warning.dart

Сначала выполняется login_test.dart, а затем login_warning.dart драйвер.

...