argThat和captureThat匹配器在dart mockito中有什么区别?
创始人
2024-09-13 07:30:19
0

在Dart的mockito库中,argThat和captureThat都是用于在mock对象的方法调用中捕获参数的匹配器。它们的区别在于如何使用和返回捕获的参数。

  1. argThat匹配器:

    • 使用argThat匹配器可以在方法调用中指定参数的某些条件。它接受一个函数作为参数,该函数接受一个参数并返回一个布尔值。

    • 如果传递给方法的参数满足函数中指定的条件,那么argThat匹配器将返回true,表示参数匹配成功。

    • 示例代码:

      import 'package:mockito/mockito.dart';
      
      class MockClass extends Mock implements SomeClass {}
      
      void main() {
        var mock = MockClass();
        when(mock.method(argThat((arg) => arg > 5))).thenReturn('Mocked Value');
      
        print(mock.method(10));  // 输出:Mocked Value
        print(mock.method(3));   // 输出:null
      }
      
  2. captureThat匹配器:

    • 使用captureThat匹配器可以捕获方法调用中的参数,并将其保存到一个列表中。这对于需要在后续的断言中检查参数值非常有用。

    • 示例代码:

      import 'package:mockito/mockito.dart';
      
      class MockClass extends Mock implements SomeClass {}
      
      void main() {
        var mock = MockClass();
        var capturedArgs = List();
      
        mock.method(captureThat(capturedArgs.add));
      
        print(capturedArgs);  // 输出:[参数值]
      }
      

总结:

  • argThat用于指定参数的某些条件,并返回匹配结果。
  • captureThat用于捕获方法调用中的参数,并将其保存到一个列表中,供后续的断言使用。

相关内容

热门资讯

透视透视挂!智星德州辅助译码插... 透视透视挂!智星德州辅助译码插件靠谱吗,智星菠萝可以辅助吗,科技教程(竟然存在有挂)1、让任何用户在...
透视脚本!wepoker透视脚... 透视脚本!wepoker透视脚本安卓,hh poker辅助有用吗,可靠教程(都是是有挂);玩家在we...
透视肯定!wepoker免费透... 透视肯定!wepoker免费透视脚本,aapoker怎么选牌,扑克教程(素来是有挂);wepoker...
透视肯定!德普之星怎么作弊,w... 透视肯定!德普之星怎么作弊,wepoker透视app下载,系统教程(真是是真的有挂);支持2-10人...
透视脚本!wepoker辅助透... 透视脚本!wepoker辅助透视软件,pokemmo辅助官网,2025新版(竟然真的是有挂)1、不需...
透视教程!wpk有脚本吗,we... 透视教程!wpk有脚本吗,we-poker辅助器,解密教程(原来真的是有挂)是一款可以让一直输的玩家...
透视智能ai!wepoker脚... 透视智能ai!wepoker脚本,hh poker透视器下载,2025新版教程(竟然是有挂)关于we...
透视工具!hhpoker透视脚... 透视工具!hhpoker透视脚本安卓,hhpoker免费辅助器,介绍教程(原先有挂);(需添加指定Q...
透视了解!wpk辅助软件多少钱... 透视了解!wpk辅助软件多少钱一个,来玩德州破解器,2025新版技巧(竟然真的有挂);科技详细教程Q...
透视挂透视!wpk透视脚本视频... 透视挂透视!wpk透视脚本视频,wejoker辅助器怎么卖,安装教程(一直真的有挂);原来确实真的有...