zoukankan      html  css  js  c++  java
  • 基于django rest framework的mock server实践

    网上找了一下mock server的实现,发现python的基本都是基于flask来实现的,因最近在学django,就尝试用drf实现了下:

    A brief introduction of sui_mock

    sui mock server is an attempt that aim at dealing some issues of the third part service,get it from https://github.com/chengtch/sui-mock

    Reference resources:
    simple mock from testerhome with flask https://testerhome.com/topics/10238
    ali mock platform https://yq.aliyun.com/articles/236198

    1) Why we need mock

    1.1 To simulate unstable services

        Because there is no business logic in mock server,that makes it stable enough

    2.2 To quickly construct complex data

        Because we can customize a response

    2.3 To rapidly construct abnormal scenes

        Because we can return any response code we want

    2.4 To help the coders impove coding efficiency

        Because they don't need to wait too long for debugging

    2.5 To help the testers get better working

        As a tester ,you should know what i am trying to say

    2) Design logic

        Django + rest framework + mysql

    3) Steps to complete

    • 3.1 create new django project named sui_mock
    • 3.2 create new app named app_mock
    • 3.3 design the models with all the api params
    • 3.4 make configrations of the settings about db,app,language
    • 3.5 makemigrationsmigratecreatesuperuser: admin/your_password
    • 3.6 register the model class in the admin.py
    • 3.7 edit the serializer and views to implement the function logic
    • 3.8 config the urls.py to match the request path
    • 3.9 install all the dependency (get it from the requirement.txt)
    • 3.10 start the mockserver by python manage.py runserver 0.0.0.0:8000

    4) Examples

    4.1 Start the server and add an api in the backstage management system


    4.2 Call the api by postman

    5) Run server by https

    first install some thirdpart libs:

    pip install django-extensions
    pip install django-werkzeug-debugger-runserver
    pip install pyOpenSSL
    

    then run the server:

    python manage.py runserver_plus --cert server.crt 0.0.0.0:8000
    

    finally visit the https server:

    eg: https://192.168.254.1:8000/cnp/auth

  • 相关阅读:
    黑马程序员__OC三大特性
    黑马程序员___OC类和对象
    黑马程序员___预处理指令
    黑马程序员___数据类型总结
    黑马程序员__指针
    黑马程序员__C语言__函数__static和extern
    黑马程序员__C语言__流程控制__选择结构
    黑马程序员__C语言__循环结构
    入园随笔
    Fiddler中抓取不到Jmeter模拟的请求包。
  • 原文地址:https://www.cnblogs.com/chengtch/p/9570587.html
Copyright © 2011-2022 走看看