codecamp

Django4.0 进阶测试主题-使用 Django 测试运行器测试可重用的应用程序

如果你正在编写一个 可重用的应用程序,你可能想使用 Django 测试运行器来运行你自己的测试套件,从而从 Django 测试基础设施中获益。
常见的做法是在应用代码旁边有一个 tests 目录,结构如下:

runtests.py
polls/
    __init__.py
    models.py
    ...
tests/
    __init__.py
    models.py
    test_settings.py
    tests.py

让我们看一下其中的两个文件:

#!/usr/bin/env python
import os
import sys

import django
from django.conf import settings
from django.test.utils import get_runner

if __name__ == "__main__":
    os.environ['DJANGO_SETTINGS_MODULE'] = 'tests.test_settings'
    django.setup()
    TestRunner = get_runner(settings)
    test_runner = TestRunner()
    failures = test_runner.run_tests(["tests"])
    sys.exit(bool(failures))

这是运行测试套件的脚本。它设置 Django 环境,创建测试数据库并运行测试。
为了清楚起见,这个例子只包含了使用 Django 测试运行器所需的最基本的内容。你可能会要添加命令行选项来控制详细程度,传递要运行的特定测试标签等。

SECRET_KEY = 'fake-key'
INSTALLED_APPS = [
    "tests",
]

该文件包含运行应用程序测试所需的 Django 配置。
再次,这是一个最小的例子;你的测试可能需要其他设置才能运行。
由于 tests 包在运行测试时被包含在 ​INSTALLED_APPS ​中,你可以在它的 ​models.py​ 文件中定义只用于测试的模型。


Django4.0 进阶测试主题-强制按顺序运行测试类
Django4.0 进阶测试主题-使用不同的测试框架
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Django4.0 模型和数据库

Django4.0 处理HTTP请求

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }