0

我正在开发一个颤振联合插件,如此处所述。我的集成测试看起来像这样(简化示例,仿照url_launcher 插件集成测试):

void main() {
  IntegrationTestWidgetsFlutterBinding.ensureInitialized();

  testWidgets('Successful start', (WidgetTester _) async {
    var foo = FooPlatform.instance;
    await foo.start();
  });

  testWidgets('Exception when stopping non-running plugin', (WidgetTester _) async {
    var foo = FooPlatform.instance;
    try {
      await foo.stop();
      fail("Exception expected");
    } on PlatformException catch (e) {
      // verify error
    }
  });
}

由于插件在被测活动创建时注册和初始化,在活动被销毁时被销毁,因此插件状态不会在测试之间重置。第二次测试会失败。

我知道我可以在插件中实现某种重置方法,但这不是我想要的。我正在寻找一种方法让测试框架重新创建活动或至少重新创建插件,以便插件在每个测试中都处于明确定义的状态。

4

0 回答 0