3 Star 40 Fork 6

guolong / http-faker

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
自定义方法使用说明.md 2.10 KB
一键复制 编辑 原始数据 按行查看 历史
guolong 提交于 2020-11-12 19:51 . 文档更新

前言

对于不同的字段的生成方式多样,对于那些无法使用内置方法来实现的字段可以自己写 生成规则。下面就说下httpfaker如何使用自定义方法。

步骤

1. 初始化项目

使用命令来创建一个httpfaker项目,项目名为目录名;不指定目录名时默认为httpfaker-project

httpfaker init --project-name myproject
cd myproject

创建成功后会在当前目录下生成一个myproject的目录,目录结构如下:

(venv) guolong@guolong-PC:~/PycharmProjects/httpfaker-test/httpfaker-project$ tree
.
├── apis
│   └── sample.yml
├── log
│   └── dbfaker.log
├── readme.md
└── script  # 自定义生成规则Python文件所在目录
    └── sample.py

4 directories, 5 files
(venv) guolong@guolong-PC:~/PycharmProjects/dbfaker-test/dbfaker-project$ ls -la
总用量 24
drwxr-xr-x 5 guolong guolong 4096 10月 19 18:10 .
drwxr-xr-x 6 guolong guolong 4096 10月 19 18:10 ..
drwxr-xr-x 2 guolong guolong 4096 10月 19 18:12 data
drwxr-xr-x 2 guolong guolong 4096 10月 19 18:10 log
-rw-r--r-- 1 guolong guolong  300 10月 19 18:10 readme.md
drwxr-xr-x 3 guolong guolong 4096 10月 19 18:10 script

2. 编写你的字段生成规则

在项目目录下的script目录下新建一个Python文件,文件名自定义(需以.py结尾),文件中添加一个继承自faker.BaseProvider的子类;类方法即为自定义的方法。

# 示例Python方法,一个对字符串进行md5加密的方法
cat script/sample.py
from faker.providers import BaseProvider
import hashlib


class MProvider(BaseProvider):
    def md5(self, value: bytes):
        if isinstance(value, str):
            value = value.encode()
        return hashlib.md5(value).hexdigest()

你可以在这个示例文件中继续添加自定义方法,也可以新起一个Python文件,继承faker.BaseProvider类即可!

PS:

httpfaker引用自定义方法只需要在程序运行目录的script目录下存在自定义脚本即可自动加载,不强制要求创建项目。

Python
1
https://gitee.com/guojongg/http-faker.git
git@gitee.com:guojongg/http-faker.git
guojongg
http-faker
http-faker
master

搜索帮助