Django4.0 進(jìn)階測試主題-使用 Django 測試運(yùn)行器測試可重用的應(yīng)用程序

2022-03-17 13:37 更新

如果你正在編寫一個 可重用的應(yīng)用程序,你可能想使用 Django 測試運(yùn)行器來運(yùn)行你自己的測試套件,從而從 Django 測試基礎(chǔ)設(shè)施中獲益。
常見的做法是在應(yīng)用代碼旁邊有一個 tests 目錄,結(jié)構(gòu)如下:

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))

這是運(yùn)行測試套件的腳本。它設(shè)置 Django 環(huán)境,創(chuàng)建測試數(shù)據(jù)庫并運(yùn)行測試。
為了清楚起見,這個例子只包含了使用 Django 測試運(yùn)行器所需的最基本的內(nèi)容。你可能會要添加命令行選項(xiàng)來控制詳細(xì)程度,傳遞要運(yùn)行的特定測試標(biāo)簽等。

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

該文件包含運(yùn)行應(yīng)用程序測試所需的 Django 配置。
再次,這是一個最小的例子;你的測試可能需要其他設(shè)置才能運(yùn)行。
由于 tests 包在運(yùn)行測試時被包含在 ?INSTALLED_APPS ?中,你可以在它的 ?models.py? 文件中定義只用于測試的模型。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號