首页 > 解决方案 > 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)

标签: pythondjango

解决方案


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 文件夹中的所有模型。


推荐阅读