Tástálacha aonaidLink to this heading

Tagann Django le sraith tástála féin, in eolaire ``tástálacha ``den bhonn cód. Is é ár mbeartas a chinntiú go dtéann gach tástáil i gcónaí.

Táimid buíoch as aon ranníocaíochtaí go léir leis an tsraith tástála!

Úsáideann tástálacha Django go léir an bonneagar tástála a sheolann le Django chun feidhmchláir a thástáil Féach:doc: /topics/tástáil/léirmheas le haghaidh míniú ar conas tástálacha nua a scríobh.

Tástálacha aonaid a rithLink to this heading

Tosaigh gastaLink to this heading

< https://github.com/django/django/fork>Ar dtús, `fork Django ar Github`__.

Ar an dara dul síos, cruthaigh agus gníomhachtaigh timpeallacht f Mura bhfuil tú eolach ar conas é sin a dhéanamh, léigh inn:doc: teagaisc rannchuidiúcháin </intro/contributing>.

Ansin, clóin do fhorc, suiteáil roinnt riachtanais, agus reáchtáil na tástálacha:

Linux / macOS

Shell
$ git clone https://github.com/YourGitHubName/django.git django-repo
$ cd django-repo/tests
$ python -m pip install -e ..
$ python -m pip install -r requirements/py3.txt
$ ./runtests.py

Windows

Windows
...\> git clone https://github.com/YourGitHubName/django.git django-repo
...\> cd django-repo\tests
...\> py -m pip install -e ..
...\> py -m pip install -r requirements\py3.txt
...\> runtests.py 

Is dócha go mbeidh gá le roinnt pacáistí córais oibriúcháin nach bhfuil suiteáilte ar do ríomhaire chun na ceanglais a shuiteáil. Is féidir leat a dhéanamh amach de ghnáth cén pacáiste atá le suiteáil trí chuardach gréasáin a dhéanamh don líne dheireanach nó mar sin den teachtaireacht earráide. Bain triail as do chóras oibriúcháin a chur leis an bhfiosrúchán cuardaigh más gá.

If you have trouble installing an optional test dependency, you can skip that dependency locally. For example, if installing pylibmc fails, comment out its line in requirements/py3.txt and continue with ./runtests.py. Tests that require pylibmc will be skipped automatically. See Na tástálacha go léir á rith for details on installing the optional test dependencies.

Teastaíonn modúl socruithe Django a shainmhíníonn na bunachair sonraí atá le húsáid. Chun cabhrú leat tosú, soláthraíonn agus úsáideann Django modúl socruithe samplach a úsáideann bunachar sonraí SQLite. Féach:ref: running-unit-tests-settings chun foghlaim conas modúl socruithe difriúil a úsáid chun na tástálacha a reáchtáil le bunachar sonraí difriúil.

Ag fadhbanna agat? Féach:ref: trouoting-unitt-tests le haghaidh roinnt saincheisteanna coitianta.

Tástálacha reatha ag baint úsáide as tocsLink to this heading

Is uirlis é Tox chun tá< https://tox.wiki/> stálacha a reáchtáil i dtimpeallachtaí fíorúla difriúla Cuimsíonn Django bunúsach tox.ini a uathoibriú roinnt seiceálacha a dhéanann ár bhfreastalaí tógála ar iarratais tarraingthe. <coding-style-imports>Chun na tástálacha aonaid agus na seiceálacha eile a reáchtáil (mar shampla:ref: sórtáil allmhairiúcháin `, an:ref: `seiceálaí litrithe doiciméadaithe', agus <documentation-spelling-check>:ref: `formáidiú cód`<coding-style-python>), suiteáil agus reáchtáil an t-ordú `tox` ó aon áit sa chrann foinse Django:

Linux / macOS

Shell
$ python -m pip install tox
$ tox

Windows

Windows
...\> py -m pip install tox
...\> tox

By default, tox runs the test suite with the bundled test settings file for SQLite, black, blacken-docs, flake8, isort, lint-docs, zizmor, and the documentation spelling checker. In addition to the system dependencies noted elsewhere in this documentation, the command python3 must be on your path and linked to the appropriate version of Python. A list of default environments can be seen as follows:

Linux / macOS

Shell
$ tox -l
py3
black
blacken-docs
flake8>=3.7.0
docs
isort>=7.0.0
lint-docs
zizmor>=1.16.3

Windows

Windows
...\> tox -l
py3
black
blacken-docs
flake8>=3.7.0
docs
isort>=7.0.0
lint-docs
zizmor>=1.16.3

Leaganacha Python eile agus cúltaca bunachar sonraí a thástáilLink to this heading

In addition to the default environments, tox supports running unit tests for other versions of Python and other database backends. Since Django's test suite doesn't bundle a settings file for database backends other than SQLite, however, you must create and provide your own test settings. For example, to run the tests on Python 3.12 using PostgreSQL:

Linux / macOS

Shell
$ tox -e py312-postgres -- --settings=my_postgres_settings

Windows

Windows
...\> tox -e py312-postgres -- --settings=my_postgres_settings

This command sets up a Python 3.12 virtual environment, installs Django's test suite dependencies (including those for PostgreSQL), and calls runtests.py with the supplied arguments (in this case, --settings=my_postgres_settings).

Taispeánann an chuid eile den doiciméadú seo orduithe chun tástálacha a reáchtáil gan tox, áfach, is féidir aon rogha a chuirtear chuig runtests.py` a chur chuig tox` tríd an liosta argóintí a réamhshocrú le --, mar atá thuas.

Tá meas ag Tox freisin ar an athróg comhshaoil: envvar: DJANGO_SETTINGS_MODULE, má tá sé socraithe. Mar shampla, tá an méid seo a leanas comhionann leis an ordú thuas:

Shell
$ DJANGO_SETTINGS_MODULE=my_postgres_settings tox -e py312-postgres

Ba chóir d'úsáideoirí Windows a úsáid:

Windows
...\> set DJANGO_SETTINGS_MODULE=my_postgres_settings
...\> tox -e py312-postgres

Na tástálacha JavaScript a rithLink to this heading

Cuimsíonn Django sraith de:ref: Tástálacha aonad JavaScript <javascript-tests>`le haghaidh feidhmeanna in aipeanna contrib áirithe. Ní reáchtáiltear na tástálacha JavaScript de réir réamhshocraithe ag baint úsáide as `tox` toisc go n-éilíonn siad Node.js ``a shuiteáil agus nach bhfuil le haghaidh formhór na bpaistí. Chun na tástálacha JavaScript a reáchtáil ag baint úsáide as ``tox:

Linux / macOS

Shell
$ tox -e javascript

Windows

Windows
...\> tox -e javascript

Ritheann an t-ordú seo npm install ``chun a chinntiú go bhfuil riachtanais tástála cothrom le dáta agus ansin ritheann ``npm tástáil.

Tástálacha a reáchtáil ag baint úsáide as django-docker-boxLink to this heading

Ligeann django-docker-box `_ duit sraith tástála Django a reáchtáil ar fud na bunachair sonraí go léir agus leaganacha python tacaithe. Féach leathanach tionscadail `django-docker-box le haghaidh treoracha suiteála agus úsáide.

Ag baint úsáide as modúl eile ``socruithe ``Link to this heading

Ligeann an modúl socruithe san áireamh (tests/test_sqlite.py) duit an tsraith tástála a reáchtáil ag baint úsáide as SQLite. Más mian leat na tástálacha a reáchtáil ag baint úsáide as bunachar sonraí difriúil, beidh ort do chomhad socruithe féin a shainiú. Tá roinnt tástálacha, mar shampla iad siúd do contrib.postgres`, go sonrach le cúltaca bunachar sonraí áirithe agus scipeánfar iad má reáchtáiltear le cúltaca difriúil. Scaiptear roinnt tástálacha nó ag súil le teipeanna ar chúlcheann bunachar sonraí áirithe (féach DatabaseFeatures.django_test_skips agus`` databaseFeatures.django_test_expected_failures`` ar gach cúltaca).

Chun na tástálacha a reáchtáil le socruithe éagsúla, cinntigh go bhfuil an modúl ar do: envvar: PYTHONPATH agus pas an modúl le ``--socruithe ``.

Ní mór don socrú: SETTING: DATABASES in aon mhodúl socruithe tástála dhá bhunachar sonraí a shainiú:

  • Bunachar sonraí réamhshocraithe. Ba chóir go n-úsáideodh an bunachar sonraí seo an cúltaca is mian leat a úsáid le haghaidh tástála bunscoile.

  • Bunachar sonraí leis an ainm eile ``. Úsáidtear an bunachar sonraí ``eile ``chun a thástáil gur féidir ceisteanna a threorú chuig bunachair sonraí éagsúla. Ba chóir go n-úsáidfeadh an bunachar sonraí seo an cúltaca céanna leis an ``default, agus caithfidh ainm difriúil a bheith aige.

Má tá cúltaca á úsáid agat nach SQLite, beidh ort sonraí eile a sholáthar do gach bunachar sonraí:

  • Caithfidh an rogha USER cuntas úsáideora atá ann cheana a shonrú don bhunachar sonraí. Teastaíonn cead ón úsáideoir sin CREATE DATABASE a rith ionas gur féidir an bunachar sonraí tástála a chruthú.

  • Ní mór don rogha: SETTING: PASSWORD an pasfhocal a sholáthar don: socrú: USER atá sonraithe.

Faigheann bunachair shonraí tástála a n-ainmneacha trí tástáil_ a réamh-mheas ar luach na socruithe NAME do na bunachair shonraí atá sainmhínithe i :suíomh:`BUNACHTAÍ SONRAÍ`. Scriostar na bunachair shonraí tástála seo nuair a bhíonn na tástálacha críochnaithe.

Beidh ort a chinntiú freisin go n-úsáideann do bhunachar sonraí UTF-8 mar an tacar carachtair réamhshocraithe. Mura n-úsáideann do fhreastala <TEST_CHARSET>í bunachar sonraí UTF-8 mar chartacar réamhshocraithe, beidh ort luach fao:setting: `CHARSET `a chur san áireamh sa fhoclóir socruithe tástála don bhunachar sonraí is infheidhme.

Níl ach cuid de na tástálacha á rithLink to this heading

Tógann sé tamall le sraith tástála iomlán Django a rith, agus d'fhéadfadh sé a bheith iomarcach gach tástáil amháin a reáchtáil má chuir tú, abair, díreach tástáil le Django gur mhaith leat a rith go tapa gan gach rud eile a rith. Is féidir leat fo-thacar de na tástálacha aonaid a reáchtáil trí ainmneacha na modúil tástála a chur leis runtests.py ar an líne ordaithe.

Mar shampla, más mian leat tástálacha a reáchtáil ach le haghaidh caidreamh cineálach agus idirnáisiúnú, clóscríobh:

Linux / macOS

Shell
$ ./runtests.py --settings=path.to.settings generic_relations i18n

Windows

Windows
...\> runtests.py --settings=path.to.settings generic_relations i18n

Conas a aimsíonn tú ainmneacha na dtástálacha aonair? Féach in tástálacha/ - gach ainm eolaire tá ainm tástála ann.

Más mian leat ach aicme áirithe tástálacha a reáchtáil, is féidir leat liosta cosáin a shonrú chuig ranganna tástála aonair. Mar shampla, chun an TranslationTests` den mhodúl i18n a reáchtáil, cineál:

Linux / macOS

Shell
$ ./runtests.py --settings=path.to.settings i18n.tests.TranslationTests

Windows

Windows
...\> runtests.py --settings=path.to.settings i18n.tests.TranslationTests

Ag dul níos faide ná sin, is féidir leat modh tástála aonair mar seo a shonrú:

Linux / macOS

Shell
$ ./runtests.py --settings=path.to.settings i18n.tests.TranslationTests.test_lazy_objects

Windows

Windows
...\> runtests.py --settings=path.to.settings i18n.tests.TranslationTests.test_lazy_objects

Is féidir leat tástálacha a reáchtáil ag tosú ag modúl barrleibhéil sonraithe le rogha --start-at. Mar shampla:

Linux / macOS

Shell
$ ./runtests.py --start-at=wsgi

Windows

Windows
...\> runtests.py --start-at=wsgi

Is féidir leat tástálacha a reáchtáil freisin ag tosú tar éis modúl barrleibhéil sonraithe le rogha - start-after. Mar shampla:

Linux / macOS

Shell
$ ./runtests.py --start-after=wsgi

Windows

Windows
...\> runtests.py --start-after=wsgi

Tabhair faoi deara nach mbíonn tionchar ag an rogha --reverse ar roghanna --start-at``--tús tar éis ``. Thairis sin ní féidir na roghanna seo a úsáid le lipéid tástála.

Rith na tástálacha SeiléiniamLink to this heading

Éilíonn roinnt tástálacha Seiléiniam agus brabhsálaí gréasáin <BROWSERS>Chun na tástálacha seo a reáchtáil, ní mór duit an pacáiste: pypi: selenium a shuiteáil agus na tástálacha a reáchtáil leis an rogha ``--selenium= ``. Mar shampla, má tá Firefox agus Google Chrome suiteáilte agat:

Linux / macOS

Shell
$ ./runtests.py --selenium=firefox,chrome

Windows

Windows
...\> runtests.py --selenium=firefox,chrome

Féach an pacáiste selenium.webdriver le haghaidh liosta na mbrabhsálaithe atá ar fáil.

Sonraíonn --selenium go huathoibríoch --tags=selenium chun na tástálacha a theastaíonn seiléiniam a reáchtáil.

Tacaíonn roinnt brabhsálaithe (m.sh. Chrome nó Firefox) le tástáil gan cheann, rud a d'fhéadfadh a bheith níos gasta agus níos cobhsaí. Cuir an rogha ``--headless` leis chun an modh seo a chumasú.

Screenshot testsLink to this heading

Chun athruithe ar an gChomhéadan riaracháin a thástáil, is féidir na tástálacha seiléiniam a reáchtáil leis an rogha --screenshots` cumasaithe. Sábhálfar scáileáin scáileáin chuig an eolaire ``tástálacha/scanshots/.

Chun a shainmhíniú cathain ba chóir scáileáin a ghlacadh le linn tástála seiléiniam, ní mór don rang tástála an maisitheoir @django .test.selenium.screenshot_cases a úsáid le liosta de chineálacha scáileáin tacaithe ("desktop_size", ``dark"`, agus ``"high_contrast ). Ansin is féidir leis glaoch ar ``self.take_screenshot (“unice-screenshot-name”) ``ag an bpointe atá ag teastáil chun na scannáin a ghiniúint. Mar shampla:

Code
from django.test.selenium import SeleniumTestCase, screenshot_cases
from django.urls import reverse


class SeleniumTests(SeleniumTestCase):
    @screenshot_cases(["desktop_size", "mobile_size", "rtl", "dark", "high_contrast"])
    def test_login_button_centered(self):
        self.selenium.get(self.live_server_url + reverse("admin:login"))
        self.take_screenshot("login")
        ...

Gineann sé seo scáileáin iolracha den leathanach logála isteach - ceann do scáileán deisce, ceann do scáileán soghluaiste, ceann do theangacha ar dheis go clé ar dheasc, ceann don mhodh dorcha ar dheasc, agus ceann do mhodh ardchodarsnachta ar dheasc agus chrome á úsáid agat.

Na tástálacha go léir á rithLink to this heading

Más mian leat an tsraith iomlán tástálacha a reáchtáil, beidh ort roinnt spleáchais a shuiteáil:

Is féidir leat na spleáchais seo a fháil i gcomhaid `riachtanais píopa`_ taobh istigh den eolaire ``tástálach< https://pip.pypa.io/en/latest/user_guide/#requirements-files> a/riachtanais ``de chrann foinse Django agus iad a shuiteáil mar sin:

Linux / macOS

Shell
$ python -m pip install -r tests/requirements/py3.txt

Windows

Windows
...\> py -m pip install -r tests\requirements\py3.txt

Má thagann tú ar earráid le linn na suiteála, d'fhéadfadh spleáchas a bheith in easnamh ar do chóras le haghaidh ceann amháin nó níos mó de na pacáistí Python. Téigh i gcomhairle le doiciméadú an phacáiste a bhfuil ag teip air nó cuardaigh an gréasán leis an teachtaireacht earráide a thagann ort.

Is féidir leat na cuibheoirí bunachar sonraí de do rogha a shuiteáil freisin ag baint úsáide as oracle.txt, mysql.txt`, nó postgres.txt.

Más mian leat na cúltaca taisce memcached nó Redis a thástáil, beidh ort: socrú: CACHES a shainiú freisin a: socrú: CACHES a thugann pointe ar do shampla memcached nó Redis faoi seach.

Chun na tástálacha GeoDjango a reáchtáil, beidh ort: doc: `bunachar sonraí spásúil a chur ar bun agus na leabharlanna Geospásúla a shuiteáil'</ref/contrib/gis/install/index>.

Tá gach ceann de na spleáchais seo roghnach. Má tá aon cheann acu in easnamh agat, scipeánfar na tástálacha gaolmhara.

Chun cuid de na tástálacha autoreload a reáchtáil, beidh ort an tseirbhís Watchman a shuiteáil < https://facebook.github.io/watchman/>.

Clúdach códLink to this heading

Spreagtar ranníocóirí clúdach a reáchtáil ar an tsraith tástála chun réimsí a aithint a bhfuil tástálacha breise <topics-testing-code-coverage>Déantar cur síos ar shuiteáil agus úsáid na huirlisí clúdaigh in:ref: `clúdach cód tástála `.

Chun clúdach a rith ar an tsraith tástála Django ag baint úsáide as na socruithe tástála caighdeánacha:

Linux / macOS

Shell
$ coverage run ./runtests.py --settings=test_sqlite

Windows

Windows
...\> coverage run runtests.py --settings=test_sqlite

Tar éis clúdach a rith, cuir na staitisticí clúdaigh go léir le chéile trí:

Linux / macOS

Shell
$ coverage combine

Windows

Windows
...\> coverage combine

Ina dhiaidh sin gineann an tuarascáil html trí rith:

Linux / macOS

Shell
$ coverage html

Windows

Windows
...\> coverage html

Agus clúdach á reáchtáil do na tástálacha Django, sainmhíníonn an comhad socruithe .coveragerc san áireamh ``coverage_html ``mar eolaire aschuir don tuarascáil agus ní chuimsíonn sé roinnt eolairí nach bhfuil ábhartha leis na torthaí (cód tástála nó cód seachtrach atá san áireamh i Django).

Code coverage on pull requestsLink to this heading

Django's continuous integration (CI) system automatically runs code coverage analysis on pull requests and posts a comment with a diff coverage report. This helps reviewers see which lines in the changed code are covered by tests.

What the coverage report shows:

The coverage report posted on pull requests uses diff-cover to analyze only the lines that were changed or added in the PR. It shows:

  • Lines that are covered by tests (✓)

  • Lines that are not covered by tests (✗)

  • Lines that cannot be covered (e.g., comments, blank lines)

Important limitations:

When reviewing coverage reports on pull requests, keep these limitations in mind:

  • Database-specific code: The CI coverage job runs tests using SQLite on Windows. Code paths specific to other databases (PostgreSQL, MySQL, Oracle) will appear as "not covered" even if database-specific tests exist. This is expected and acceptable.

  • Platform-specific code: Similarly, code that only runs on certain operating systems (Linux, macOS) will appear as not covered when run on Windows.

  • Coverage doesn't equal quality: A line being "covered" only means it was executed during tests. It doesn't guarantee the line is well-tested or that all edge cases are handled. During review, assess test quality beyond just coverage numbers.

Missing coverage should be considered a warning rather than a blocker and should be evaluated in context.

Aipeanna ContribLink to this heading

<app_name>Is féidir tástálacha le haghaidh aipeanna contrib a fháil san eolair:source: tests/, de ghnáth faoi _tástálacha. Mar shampla, tá tástálacha le haghaidh contrib.auth` lonnaithe in:source: tests/auth_tests.

FabhtcheartúLink to this heading

Crochtann nó taispeánann an tsraith tástála teipeanna ar bhrainse príomhLink to this heading

Cinntigh go bhfuil an scaoileadh pointe is déanaí agat de leagan Python arna thacú, mar is minic a bhíonn fabhtanna i leaganacha níos luaithe a d'fhéadfadh teip nó crochadh a dhéanamh ar an tsraith tástála.

Ar macOS (High Sierra agus leaganacha níos nuaí), b'fhéidir go bhfeicfidh tú an teachtaireacht seo logáilte, agus ina dhiaidh sin crochann na tástálacha:

Pytb
objc[42074]: +[__NSPlaceholderDate initialize] may have been in progress in
another thread when fork() was called.

Chun é seo a sheachaint socraigh athróg comhshaoil OBJC_DISABLE_INITIALIZE_FORK_SAFETY, mar shampla:

Shell
$ OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES ./runtests.py

Nó cuir export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES le comhad tosaithe do bhlaosc (m.sh. ~/.profile).

Go leor teipeanna tástála le UnicodeEncodeErrorLink to this heading

Mura bhfuil an pacáiste locales suiteáilte, teipeann ar roinnt tástálacha le UnicodeEncodeError.

Is féidir leat é seo a réiteach ar chórais atá bunaithe ar Debian, mar shampla, trí rith:

Shell
$ apt-get install locales
$ dpkg-reconfigure locales

Is féidir leat é seo a réiteach do chórais macOS trí logáil do bhlaosc a chumrú:

Shell
$ export LANG="en_US.UTF-8"
$ export LC_ALL="en_US.UTF-8"

Rith an t-ordú locale chun an t-athrú a dhearbhú. Go roghnach, cuir na horduithe easpórtála sin le comhad tosaithe do bhlaosc (m.sh. ~/.bashrc` do Bash) chun seachaint a chur orthu a athchlóscríobh.

Tástálacha nach dteipeann ach i gcomhcheangalLink to this heading

I gcás go n-éiríonn le tástáil nuair a reáchtáiltear é ina haonar ach go dteipeann uirthi laistigh den tsraith iomlán, tá roinnt uirlisí againn chun cabhrú leis an bhfadhb a anailísiú.

Reáchtálfaidh an rogha --bisect de runtests.py an tástáil a theip agus an tacar tástála a reáchtáiltear leis a leath ar gach athrú, rud a fhágann gur féidir líon beag tástálacha a d'fhéadfadh a bheith bainteach leis an teip a aithint go minic.

Mar shampla, cuir i gceist gurb é ModelTest.test_eq` an tástáil teip a oibríonn leis féin, ansin ag baint úsáide as:

Linux / macOS

Shell
$ ./runtests.py --bisect basic.tests.ModelTest.test_eq

Windows

Windows
...\> runtests.py --bisect basic.tests.ModelTest.test_eq

déanfaidh sé iarracht tástáil a chuireann isteach ar an gceann a thugtar a chinneadh. Ar dtús, reáchtáiltear an tástáil leis an gcéad leath den tsraith tástála. Má tharlaíonn teip, roinntear an chéad leath den tsraith tástála ina dhá ghrúpa agus reáchtáiltear gach grúpa ansin leis an triail shonraithe. Mura dteipeann ar an gcéad leath den tsraith tástála, reáchtáiltear an dara leath den tsraith tástála leis an tástáil shonraithe agus roinntear go cuí mar a thuairiscítear níos luaithe. Athdhéantar an próiseas go dtí go n-íoslaghdaítear an tsraith tástálacha a dteipeann orthu.

Ritheann an rogha ``--péire ``an tástáil ar leith in éineacht le gach tástáil eile ón tsraith, ag ligean duit seiceáil an bhfuil fo-iarsmaí ag tástáil eile a chúis leis an teip. Mar sin:

Linux / macOS

Shell
$ ./runtests.py --pair basic.tests.ModelTest.test_eq

Windows

Windows
...\> runtests.py --pair basic.tests.ModelTest.test_eq

péireoidh “test_eq” le gach lipéad tástála.

<runtests-specifying-labels>Le --bisect agus ``--pair ``araon, má tá amhras ort cheana féin cé na cásanna a d'fhéadfadh a bheith freagrach as an teip, féadfaidh tú teorainn a chur ar thástálacha le tras-anailís trés:ref: `lipéid tástála breise a shonrú `tar éis an chéad cheann:

Linux / macOS

Shell
$ ./runtests.py --pair basic.tests.ModelTest.test_eq queries transactions

Windows

Windows
...\> runtests.py --pair basic.tests.ModelTest.test_eq queries transactions

Is féidir leat triail a bhaint as aon sraith tástálacha a rith in ord randamach nó droim ar ais ag baint úsáide as na roghanna --shuffle agus --reverse. Is féidir leis seo cabhrú lena fhíorú nach gcruthaítear trioblóid ar bith má dhéantar tástálacha in ord difriúil:

Linux / macOS

Shell
$ ./runtests.py basic --shuffle
$ ./runtests.py basic --reverse

Windows

Windows
...\> runtests.py basic --shuffle
...\> runtests.py basic --reverse

Ag féachaint ar na ceisteanna SQL ag rith le linn tástálaLink to this heading

Más mian leat scrúdú a dhéanamh ar an SQL atá á reáchtáil i dtástálacha teip, is féidir leat: ref: Logáil SQL `a chasadh air ag baint úsáide as an rogha `--debu <django-db-logger>g-sql``. Má chomhcheanglaíonn tú é seo le --verbosity=2, aschur gach ceist SQL:

Linux / macOS

Shell
$ ./runtests.py basic --debug-sql

Windows

Windows
...\> runtests.py basic --debug-sql

Aisrianú iomlán teip tástála a fheiceáilLink to this heading

De réir réamhshocraithe déantar tástálacha a reáchtáil go comhthreomhar le próiseas amháin Nuair a reáchtar na tástálacha go comhthreomhar, áfach, ní fheicfidh tú ach rianú gearrtha le haghaidh aon teipeanna tástála. Is féidir leat an t-iompar seo a choigeartú leis an rogha --parallel:

Linux / macOS

Shell
$ ./runtests.py basic --parallel=1

Windows

Windows
...\> runtests.py basic --parallel=1

Is féidir leat an athróg comhshaoil: envvar: DJANGO_TEST_PROCESSES a úsáid freisin chun na críche seo.

Leideanna maidir le tástálacha scríLink to this heading

Clárú samhail a leithliúLink to this heading

Chun truailliú a sheachaint ar an gclárlann domhanda: attr: ~django.apps.apps agus cruthú tábla gan ghá a chosc, ba cheart samhlacha a shainmhínítear i modh tástála a bheith ceangailte le sampla sealadach ``Apps`. Chun seo a dhéanamh, bain úsáid as an maisitheoir:: func: ~django.test.utils.isolate_apps:

Code
from django.db import models
from django.test import SimpleTestCase
from django.test.utils import isolate_apps


class TestModelDefinition(SimpleTestCase):
    @isolate_apps("app_label")
    def test_model_definition(self):
        class TestModel(models.Model):
            pass

        ...