Auto Create PyTest Frame and Fake Test Parameters For Red
Project description
项目描述
通过解析IDL自动生成PyTest单测框架, 通过Faker库辅助生成部分参数, 并且支持单测参数和单测逻辑的向后兼容
安装
pip install pytest
pip install pyaml
pip install Faker==1.0.4
pip install bson
pip install dictdiffer
示例代码
from auto_red_test import generate_red_test
from frame import ENV
from handler.stockage_handler import StockageHandler # 需要单测的handler
import stockage_service.request.ttypes as test_request # idl的request文件
import stockage_service.StockageService as test_service # idl的service文件
root_path = ENV['root'] # 项目的根目录
# 第二个参数可以是handler列表,但必须属于同一个service
generate_red_test(root_path, StockageHandler, test_service, test_request)
- 自动生成的单测框架如下:
补充内容
- 第一次运行会生成request_config.yaml,可以自定义单测方法的参数,用于解决一个单测方法用到多个request的特殊情况, 格式如下:
# 配置单测参数
methodA:
request_A_name: request_A_obj_name
request_B_name: request_A_obj_name
methodB:
request_B_name: request_B_obj_name
request_C_name: request_C_obj_name
methodA为单测方法名, request_A_name为请求参数名,request_A_obj_name为请求参数对应的IDL Request名
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
auto-red-test-0.2.1.tar.gz
(9.1 kB
view details)
Built Distribution
File details
Details for the file auto-red-test-0.2.1.tar.gz
.
File metadata
- Download URL: auto-red-test-0.2.1.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cacb926a707909db280f57b0ac3429811a596b1a3aae3ca56584eef52dbaa3a |
|
MD5 | 30fe581e7ff8406aef739d7d4df42135 |
|
BLAKE2b-256 | 05464c05c49ac116441d640ab99d6246091bbb5597ae58c7f12fc881efb14a8d |
File details
Details for the file auto_red_test-0.2.1-py2.py3-none-any.whl
.
File metadata
- Download URL: auto_red_test-0.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2271e1a1aabb732d6a0c1fe2a1ca9d409b723643f1ebb3bc51b0206c0e6dc805 |
|
MD5 | e6c6a6069788c14139147afcfa8c5c5e |
|
BLAKE2b-256 | 94d397f9005eda6e904a56e1eddc29f1ad4781a8ee0c5c866a2c745b5bb75855 |