【问题标题】:Testing platform channel in Flutter 2.8Flutter 2.8 中的测试平台通道
【发布时间】:2022-01-16 02:34:17
【问题描述】:

有一个question关于测试MethodChannel。在我将 Flutter 升级到 2.8 后,它接缝在通道中没有名为 setMockMethodCallHandler 的方法。

【问题讨论】:

    标签: flutter flutter-test


    【解决方案1】:

    在重大更改doc 中,提到了new method

    // old code
    myMethodChannel.setMockMethodCallHandler(...);
    myMethodChannel.checkMockMethodCallHandler(...);
    // new code
    tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(myMethodChannel, ...);
    tester.binding.defaultBinaryMessenger.checkMockMessageHandler(myMethodChannel, ...);
    

    顺便说一句,Flutter 团队做motions 他们想在小部件测试而不是驱动测试中做更多的事情。

    我们正在放弃flutter_driver,转而支持将flutter_test扩展到设备上。

    ImagePicker为例:

    widgetTest('', (tester) async {
      const channel = MethodChannel('plugins.flutter.io/image_picker');
      tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(
        channel,
        (MethodCall methodCall) => Future.value('some-image'),
      );
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      • 2019-10-05
      • 1970-01-01
      • 2019-08-09
      相关资源
      最近更新 更多