dio_mock_interceptor 1.1.0 copy "dio_mock_interceptor: ^1.1.0" to clipboard
dio_mock_interceptor: ^1.1.0 copied to clipboard

This widget help you to mock backend responses in flutter project.

Flutter Dio Mock Interceptor #

License: MIT

This widget help you to mock backend responses in flutter project.

Environment #

The widget was only tested on following environment,

  • Flutter: 3.7.5+ (with sound null safety)
  • Dio: 5.0.0+

Usage #

  • Install:

    dev_dependencies:
      dio_mock_interceptor: ^1.1.0
    
  • Create a mock folder in your project, add json files to mock http responses, example:

    [
      {
        "path": "/api/login",
        "method": "POST",
        "statusCode": 200,
        "data": {
          "success": true,
          "code": "0000",
    	    "result": {
    		    "test": "test"
    	    }
        }
      },
      {
        "path": "/api/logout",
        "method": "POST",
        "statusCode": 200,
        "data": {}
      }
    ]
    
  • Setup mock folder to assets section of pubspec.yaml:

    assets:
      - mock/
    
  • Add interceptor to Dio:

    import 'package:dio_mock_interceptor/dio_mock_interceptor.dart';
      
    dio.interceptors.add(MockInterceptor());
    
  • Dio post example:

    Response response = await dio.post("/api/login");
    String json = response.data;
    if (json.isEmpty) {
      throw Exception('response is empty');
    }
    Map<String, dynamic> data = jsonDecode(json);
    bool isSuccess = data['success'] as bool; // true
    Map<String, dynamic> result = data['result']; // result['test'] = 'test'
    
  • Mass data example:

  [
	  {
      "path": "/api/template/list",
      "method": "POST",
      "statusCode": 200,
      "template": {
        "size": 100000,
        "content": {
          "id": "test${index}",
          "name": "name_${index}"
        }
      }
    },
    {
      "path": "/api/template/nocontent",
      "method": "POST",
      "statusCode": 200,
      "template": {
        "size": 1000
      }
    },
    {
      "path": "/api/template/nosize",
      "method": "POST",
      "statusCode": 200,
      "template": {
        "content": {
          "id": "test${index}",
          "name": "name_${index}"
        }
      }
    }
  ]

License #

Copyright (c) 2023-present Yong-Xin Technology Ltd.

This project is licensed under the MIT License - see the LICENSE file for details.

8
likes
0
pub points
72%
popularity

Publisher

verified publisheryong-xin.tech

This widget help you to mock backend responses in flutter project.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

dio, flutter

More

Packages that depend on dio_mock_interceptor