Django项目的交互式测试运行程序
djtest的Python项目详细描述
DJTEST
Django项目的交互式测试运行程序。
目的:
- 在本地配置文件中保留可供测试的应用程序列表
- 显示所有可用单元测试的列表(-l选项)
- 对命令行中指定的应用程序运行单元测试
- 每次执行前清除测试“媒体文件夹”
- 可选地筛选要执行的单元测试列表(-f选项)
安装
pip install djtest
或:
pip install git+https://github.com/morlandi/djtest
样本使用
Using config file "./.djtest.conf" usage: djtest [-h] [-v {0,1,2,3}] [-m] [-n] [-f FILTER] [-l] [apps [apps ...]] Targets may specify either: 'all' for all available apps, and app name (one or more), or a specific test module/method positional arguments: apps optional arguments: -h, --help show this help message and exit -v {0,1,2,3}, --verbosity {0,1,2,3} Verbosity level. (default: 2) -m, --no-migrations Skip migrations. (default: False) -n, --dry-run Don't execute commands, just pretend. (default: False) -f FILTER, --filter FILTER Filtering: run only test methods matching specified pattern -l, --list List available test methods --version show program's version number and exit Available apps: tasks, wallet_clients, frontend_api, trading_api, backend
示例配置文件
示例“skeleton”配置文件“../djtest.conf”在第一次运行时自动创建。
你应该编辑它来指定可测试应用的列表。
[general] project=myproject test_settings_module=myproject.settings.test_settings test_settings_no_migrations_module=myproject.settings.test_settings_no_migrations media_folder="../public/test_media/" apps=app1, app2, appN
示例“测试设置”模块
from myproject.settings.settings import * LANGUAGE_CODE = 'en' TIME_ZONE = 'UTC' EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' ...
示例“测试设置-无迁移”模块
from myproject.settings.test_settings import * class DisableMigrations(object): def __contains__(self, item): return True def __getitem__(self, item): #return "notmigrations" return None MIGRATION_MODULES = DisableMigrations()
历史记录
v0.1.2
- 清理
v0.1.1
- 将测试设置示例添加到自述文件
v0.1.0
- 在PYPI上发布
v0.0.3
- 添加了版本控制
- 增加了对unittest.testcase的支持