如何在Flutter中对依赖于第三方包装的代码进行单元测试?

帕斯卡

如何在flutter中测试代码,该代码取决于path_provider插件?

对依赖于path_provider插件的代码执行测试时,出现以下错误:

  MissingPluginException(No implementation found for method getStorageDirectory on channel plugins.flutter.io/path_provider)
  package:flutter/src/services/platform_channel.dart 319:7                         MethodChannel.invokeMethod
  ===== asynchronous gap ===========================
  dart:async                                                                       _asyncErrorWrapperHelper
  package: mypackage someClass.save
  unit_tests/converter_test.dart 19:22   

                                 main.<fn>

您需要模拟被测试代码调用的所有方法(如果它们调用它们并取决于它们的结果)

在您的情况下,您应该模拟该方法getStorageDirectory()以使其返回一些满足您测试要求的结果

有关如何嘲笑更多信息检查这个这个

有关模拟的简短示例:

class MyRepo{
  int myMethod(){
    return 0;
  }
}

class MockRepo extends Mock implements MyRepo{}

void main(){
  MockRepo mockRepo = MockRepo();
  test('should test some behaviour',
          () async {
            // arrange
            when(mockRepo.myMethod()).thenAnswer(1);//in the test when myMethod is called it will return 1 and not 0
            // act
            //here put some method that will invoke myMethod on the MockRepo and not on the real repo
            // assert
            verify(mockRepo.myMethod());//verify that myMethod was called
          },
        );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在运行单元测试来摆脱第三方库的警告?

如何对依赖于ActivatedRoute参数的组件进行单元测试?

创建一个围绕第三方dll的包装器以抽象该dll并能够对我的代码进行单元测试

如何对依赖于springBoot applicationContext的单元测试方法进行单元测试?

如何对第三方库包装器进行单元测试?

如何在Rust / Cargo中处理第三方静态C库依赖关系?

如何在Selenium测试中阻止第三方脚本?

如何对依赖于元素高度的组件进行单元测试(角度为5)?

如何对依赖于HttpContext.GetGlobalResourceObject的类进行单元测试?

在ReactJS中包装第三方JS库

在Angular单元测试中模拟第三方库(Razorpay)?

与第三方图书馆和迦太基进行单元测试

导入第三方依赖性的Angular服务方法的单元测试

当processElement依赖于广播的数据时,如何在flink中对BroadcastProcessFunction进行单元测试

如何在Vapor 3中进行第三方api调用?

如何对依赖于外部库“ <script src =“ http:// stripe [...]”的API进行单元测试

如何在Visual Studio中删除对第三方代码的TypeScript警告?

如何在抖动中使用来自第三方包装资产的图像?

如何在Hyperledger Fabric测试网络中配置第三方CA?

如何在Windows中锁定文件而不进行更改或使用第三方工具?

关闭第三方代码的单元测试执行

编写一个可选地依赖于第三方库的库

具有第三方组件的Angular 2单元测试

使用Jest对依赖于HTTP调用的代码进行单元测试的最佳方法?

如何在 Eclipse 中抑制来自第三方源代码的 GCC 警告

如何在 web api 或库中包装第三方对象?

如何对依赖于 redux props 的组件进行单元测试

为第三方 cli 包编写单元测试用例

如何对依赖于实例属性的实例方法进行单元测试?