python - Django 只为测试创建模型
问题描述
我想测试一个自定义字段。
如何创建仅用于测试的(虚拟)模型?
例如:
myapp/tests/test_fields.py
import pytest
from django.db import models
from ..fields import Percentage100Field
class DummyModel(models.Model):
percentage = Percentage100Field()
@pytest.mark.django_db
def test_percentage_100_field():
d = DummyModel.objects.create(percentage=19)
解决方案
1) 创建测试设置文件
test_settings.py
from .settings import *
INSTALLED_APPS += ["myapp.tests"]
2)创建一个pytest.ini文件以使用新的settings.py文件:
pytest.ini
[pytest]
addopts = --ds=path.to.test_settings
3) 使用所有模型创建一个 myapp/test/Models.py 文件
4) 现在将自动创建 Test 文件夹中的所有模型。
推荐阅读
- html - 位置粘性似乎不适用于 chrome 版本 72.x?
- sql - 为什么我的 CREATE TABLES 单独工作而不是一起工作?
- swift - 加载自定义 CollectionViewCell Nib 时出现 initWithCoder 错误
- sql - PostgreSQL | 如何在调查中存储用户答案?
- html - 从 ::before 和 ::after 伪元素中删除 :focus 轮廓样式
- windows - Windows 和 Linux Beowulf 集群
- google-data-studio - 如何在 DataStudio 中从连续的两个字段创建生成的字段
- java - MQJExplorer - 如何以可读格式导出队列消息?
- callback - Twilio 截断回调 URL 中的查询字符串
- mysql - 如何在 SQL 语句中获取非分组列(类似于 MySQL)