{"title":"Tástálacha aonaid","version":"5.2","locale":"ga","docname":"internals/contributing/writing-code/unit-tests","url":"/ga/5.2/internals/contributing/writing-code/unit-tests/","canonical":"https://djangodocs.dev/ga/5.2/internals/contributing/writing-code/unit-tests/","summary":"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í.","html":"<h1>Tástálacha aonaid<a class=\"heading-anchor\" href=\"#unit-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Tagann Django le sraith tástála féin, in eolaire <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>tástálacha <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>den bhonn cód. Is é ár mbeartas a chinntiú go dtéann gach tástáil i gcónaí.</p>\n<p>Táimid buíoch as aon ranníocaíochtaí go léir leis an tsraith tástála!</p>\n<p>Ú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.</p>\n<section id=\"running-the-unit-tests\">\n<span id=\"running-unit-tests\"></span><h2>Tástálacha aonaid a rith<a class=\"heading-anchor\" href=\"#running-the-unit-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"quickstart\">\n<h3>Tosaigh gasta<a class=\"heading-anchor\" href=\"#quickstart\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>&lt; <a class=\"reference external\" href=\"https://github.com/django/django/fork\">https://github.com/django/django/fork</a>&gt;Ar dtús, <a href=\"#id4\"><span class=\"problematic\" id=\"id5\">`fork Django ar Github`__</span></a>.</p>\n<p>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 &lt;/intro/contributing&gt;.</p>\n<p>Ansin, clóin do fhorc, suiteáil roinnt riachtanais, agus reáchtáil na tástálacha:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>git clone https://github.com/YourGitHubName/django.git django-repo\n<span class=\"gp\">$ </span><span class=\"nb\">cd</span> django-repo/tests\n<span class=\"gp\">$ </span>python -m pip install -e ..\n<span class=\"gp\">$ </span>python -m pip install -r requirements/py3.txt\n<span class=\"gp\">$ </span>./runtests.py\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> git clone https://github.com/YourGitHubName/django.git django-repo\n<span class=\"gp\">...\\&gt;</span> <span class=\"k\">cd</span> django-repo\\tests\n<span class=\"gp\">...\\&gt;</span> py -m pip install -e ..\n<span class=\"gp\">...\\&gt;</span> py -m pip install -r requirements\\py3.txt\n<span class=\"gp\">...\\&gt;</span> runtests.py \n</code></pre></div></div></div>\n<p>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á.</p>\n<p>Má tá deacracht agat na riachtanais a shuiteáil, is féidir leat an chéim sin a scipeáil. Féach: Ref: running-unit-tests-dependencies le haghaidh sonraí maidir leis na spleáchais tástála roghnacha a shuiteáil. Mura bhfuil spleáchas roghnach suiteáilte agat, scipeánfar na tástálacha a éilíonn é.</p>\n<p>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.</p>\n<p>Ag fadhbanna agat? Féach:ref: trouoting-unitt-tests le haghaidh roinnt saincheisteanna coitianta.</p>\n</section>\n<section id=\"running-tests-using-tox\">\n<h3>Tástálacha reatha ag baint úsáide as <code class=\"docutils literal notranslate\">tocs</code><a class=\"heading-anchor\" href=\"#running-tests-using-tox\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Is uirlis é <a class=\"reference internal\" href=\"#tox\">Tox</a> chun tá&lt; <a class=\"reference external\" href=\"https://tox.wiki/\">https://tox.wiki/</a>&gt; stálacha a reáchtáil i dtimpeallachtaí fíorúla difriúla Cuimsíonn Django bunúsach <code class=\"docutils literal notranslate\">tox.ini</code> a uathoibriú roinnt seiceálacha a dhéanann ár bhfreastalaí tógála ar iarratais tarraingthe. &lt;coding-style-imports&gt;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 &lt;documentation-spelling-check&gt;:ref: `formáidiú cód`&lt;coding-style-python&gt;), suiteáil agus reáchtáil an t-ordú `tox` ó aon áit sa chrann foinse Django:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python -m pip install tox\n<span class=\"gp\">$ </span>tox\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py -m pip install tox\n<span class=\"gp\">...\\&gt;</span> tox\n</code></pre></div></div></div>\n<p>By default, <code class=\"docutils literal notranslate\">tox</code> runs the test suite with the bundled test settings file for\nSQLite, <code class=\"docutils literal notranslate\">black</code>, <code class=\"docutils literal notranslate\">blacken-docs</code>, <code class=\"docutils literal notranslate\">flake8</code>, <code class=\"docutils literal notranslate\">isort</code>, <code class=\"docutils literal notranslate\">zizmor</code>, and the\ndocumentation spelling checker. In addition to the system dependencies noted\nelsewhere in this documentation, the command <code class=\"docutils literal notranslate\">python3</code> must be on your path\nand linked to the appropriate version of Python. A list of default environments\ncan be seen as follows:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-2-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>tox -l\n<span class=\"go\">py3</span>\n<span class=\"go\">black</span>\n<span class=\"go\">blacken-docs</span>\n<span class=\"go\">flake8&gt;=3.7.0</span>\n<span class=\"go\">docs</span>\n<span class=\"go\">isort&gt;=7.0.0</span>\n<span class=\"go\">zizmor&gt;=1.16.3</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-2-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> tox -l\n<span class=\"go\">py3</span>\n<span class=\"go\">black</span>\n<span class=\"go\">blacken-docs</span>\n<span class=\"gp\">flake8&gt;</span>=3.7.0\n<span class=\"go\">docs</span>\n<span class=\"gp\">isort&gt;</span>=7.0.0\n<span class=\"gp\">zizmor&gt;</span>=1.16.3\n</code></pre></div></div></div>\n<section id=\"testing-other-python-versions-and-database-backends\">\n<h4>Leaganacha Python eile agus cúltaca bunachar sonraí a thástáil<a class=\"heading-anchor\" href=\"#testing-other-python-versions-and-database-backends\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Chomh maith leis na timpeallachtaí réamhshocraithe, tacaíonn <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>tox` le tástálacha aonaid a reáchtáil do leaganacha eile de Python agus cúltaca bunachar sonraí eile. &lt;running-unit-tests-settings&gt;Ós rud é nach gcuireann sraith tástála Django comhad socruithe le haghaidh cúltaca bunachar sonraí seachas SQLite, áfach, ní mór duit: ref: <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>do shocruithe tástála féin a chruthú agus a sholáthar <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>. Mar shampla, chun na tástálacha a reáchtáil ar Python 3.10 ag baint úsáide as PostgreSQL:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-3-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>tox -e py310-postgres -- --settings<span class=\"o\">=</span>my_postgres_settings\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-3-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> tox -e py310-postgres -- --settings=my_postgres_settings\n</code></pre></div></div></div>\n<p>Bunaíonn an t-ordú seo timpeallacht fhíorúil Python 3.10, suiteálann sé spleáchais sraith tástála Django (lena n-áirítear iad siúd do PostgreSQL), agus glaonn sé <code class=\"docutils literal notranslate\">runtests.py</code> leis na hargóintí a sholáthraítear (sa chás seo, <code class=\"docutils literal notranslate\">--settings=my_postgres_settings</code>).</p>\n<p>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 <code class=\"docutils literal notranslate\">--</code>, mar atá thuas.</p>\n<p>Tá meas ag <code class=\"docutils literal notranslate\">Tox</code> 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:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span><span class=\"nv\">DJANGO_SETTINGS_MODULE</span><span class=\"o\">=</span>my_postgres_settings tox -e py310-postgres\n</code></pre></div>\n<p>Ba chóir d'úsáideoirí Windows a úsáid:</p>\n<div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows code\"><code><span class=\"gp\">...\\&gt;</span> <span class=\"k\">set</span> <span class=\"nv\">DJANGO_SETTINGS_MODULE</span><span class=\"p\">=</span>my_postgres_settings\n<span class=\"gp\">...\\&gt;</span> tox -e py310-postgres\n</code></pre></div>\n</section>\n<section id=\"running-the-javascript-tests\">\n<h4>Na tástálacha JavaScript a rith<a class=\"heading-anchor\" href=\"#running-the-javascript-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Cuimsíonn Django sraith de:ref: Tástálacha aonad JavaScript &lt;javascript-tests&gt;`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 <code class=\"docutils literal notranslate\">Node.js ``a shuiteáil agus nach bhfuil gá le haghaidh formhór na bpaistí. Chun na tástálacha JavaScript a reáchtáil ag baint úsáide as ``tox</code>:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-4-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>tox -e javascript\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-4-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> tox -e javascript\n</code></pre></div></div></div>\n<p>Ritheann an t-ordú seo <code class=\"docutils literal notranslate\">npm install ``chun a chinntiú go bhfuil riachtanais tástála cothrom le dáta agus ansin ritheann sé ``npm tástáil</code>.</p>\n</section>\n</section>\n<section id=\"running-tests-using-django-docker-box\">\n<h3>Tástálacha a reáchtáil ag baint úsáide as <code class=\"docutils literal notranslate\">django-docker-box</code><a class=\"heading-anchor\" href=\"#running-tests-using-django-docker-box\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ligeann <a class=\"reference external\" href=\"https://github.com/django/django-docker-box/\">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</a> le haghaidh treoracha suiteála agus úsáide.</p>\n</section>\n<section id=\"using-another-settings-module\">\n<span id=\"running-unit-tests-settings\"></span><h3>Ag baint úsáide as modúl eile <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>socruithe ``<a class=\"heading-anchor\" href=\"#using-another-settings-module\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ligeann an modúl socruithe san áireamh (<code class=\"docutils literal notranslate\">tests/test_sqlite.py</code>) 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 <code class=\"docutils literal notranslate\">DatabaseFeatures.django_test_skips</code> agus`` databaseFeatures.django_test_expected_failures`` ar gach cúltaca).</p>\n<p>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 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>--socruithe <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n<p>Ní mór don socrú: SETTING: DATABASES in aon mhodúl socruithe tástála dhá bhunachar sonraí a shainiú:</p>\n<ul class=\"simple\">\n<li><p>Bunachar sonraí <code class=\"docutils literal notranslate\">réamhshocraithe</code>. 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.</p></li>\n<li><p>Bunachar sonraí leis an ainm <code class=\"docutils literal notranslate\">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</code>, agus caithfidh ainm difriúil a bheith aige.</p></li>\n</ul>\n<p>Má tá cúltaca á úsáid agat nach SQLite, beidh ort sonraí eile a sholáthar do gach bunachar sonraí:</p>\n<ul class=\"simple\">\n<li><p>Caithfidh an rogha <a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-USER\"><code class=\"xref std std-setting docutils literal notranslate\">USER</code></a> cuntas úsáideora atá ann cheana a shonrú don bhunachar sonraí. Teastaíonn cead ón úsáideoir sin <code class=\"docutils literal notranslate\">CREATE DATABASE</code> a rith ionas gur féidir an bunachar sonraí tástála a chruthú.</p></li>\n<li><p>Ní mór don rogha: SETTING: PASSWORD an pasfhocal a sholáthar don: socrú: USER atá sonraithe.</p></li>\n</ul>\n<p>Faigheann bunachair shonraí tástála a n-ainmneacha trí <code class=\"docutils literal notranslate\">tástáil_</code> a réamh-mheas ar luach na socruithe <a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-NAME\"><code class=\"xref std std-setting docutils literal notranslate\">NAME</code></a> do na bunachair shonraí atá sainmhínithe i <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">:suíomh:`BUNACHTAÍ SONRAÍ`</span></a>. Scriostar na bunachair shonraí tástála seo nuair a bhíonn na tástálacha críochnaithe.</p>\n<p>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 &lt;TEST_CHARSET&gt;í bunachar sonraí UTF-8 mar chartacar réamhshocraithe, beidh ort luach fao:setting: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>CHARSET <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>a chur san áireamh sa fhoclóir socruithe tástála don bhunachar sonraí is infheidhme.</p>\n</section>\n<section id=\"running-only-some-of-the-tests\">\n<span id=\"runtests-specifying-labels\"></span><h3>Níl ach cuid de na tástálacha á rith<a class=\"heading-anchor\" href=\"#running-only-some-of-the-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>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 <code class=\"docutils literal notranslate\">runtests.py</code> ar an líne ordaithe.</p>\n<p>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:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-5-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --settings<span class=\"o\">=</span>path.to.settings generic_relations i18n\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-5-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --settings=path.to.settings generic_relations i18n\n</code></pre></div></div></div>\n<p>Conas a aimsíonn tú ainmneacha na dtástálacha aonair? Féach in <code class=\"docutils literal notranslate\">tástálacha/</code> - gach ainm eolaire tá ainm tástála ann.</p>\n<p>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 <code class=\"docutils literal notranslate\">i18n</code> a reáchtáil, cineál:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-6-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --settings<span class=\"o\">=</span>path.to.settings i18n.tests.TranslationTests\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-6-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --settings=path.to.settings i18n.tests.TranslationTests\n</code></pre></div></div></div>\n<p>Ag dul níos faide ná sin, is féidir leat modh tástála aonair mar seo a shonrú:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-7-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --settings<span class=\"o\">=</span>path.to.settings i18n.tests.TranslationTests.test_lazy_objects\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-7-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --settings=path.to.settings i18n.tests.TranslationTests.test_lazy_objects\n</code></pre></div></div></div>\n<p>Is féidir leat tástálacha a reáchtáil ag tosú ag modúl barrleibhéil sonraithe le rogha <code class=\"docutils literal notranslate\">--start-at</code>. Mar shampla:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-8-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --start-at<span class=\"o\">=</span>wsgi\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-8-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --start-at=wsgi\n</code></pre></div></div></div>\n<p>Is féidir leat tástálacha a reáchtáil freisin ag tosú tar éis modúl barrleibhéil sonraithe le rogha <code class=\"docutils literal notranslate\">- start-after</code>. Mar shampla:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-9-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --start-after<span class=\"o\">=</span>wsgi\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-9-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --start-after=wsgi\n</code></pre></div></div></div>\n<p>Tabhair faoi deara nach mbíonn tionchar ag an rogha <code class=\"docutils literal notranslate\">--reverse</code> ar roghanna <code class=\"docutils literal notranslate\">--start-at</code> nó <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>--tús tar éis <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Thairis sin ní féidir na roghanna seo a úsáid le lipéid tástála.</p>\n</section>\n<section id=\"running-the-selenium-tests\">\n<span id=\"running-selenium-tests\"></span><h3>Rith na tástálacha Seiléiniam<a class=\"heading-anchor\" href=\"#running-the-selenium-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Éilíonn roinnt tástálacha Seiléiniam agus brabhsálaí gréasáin &lt;BROWSERS&gt;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 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>--selenium= <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Mar shampla, má tá Firefox agus Google Chrome suiteáilte agat:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-10-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --selenium<span class=\"o\">=</span>firefox,chrome\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-10-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --selenium=firefox,chrome\n</code></pre></div></div></div>\n<p>Féach an pacáiste <a class=\"reference external\" href=\"https://github.com/SeleniumHQ/selenium/tree/trunk/py/selenium/webdriver\">selenium.webdriver</a> le haghaidh liosta na mbrabhsálaithe atá ar fáil.</p>\n<p>Sonraíonn <code class=\"docutils literal notranslate\">--selenium</code> go huathoibríoch <code class=\"docutils literal notranslate\">--tags=selenium</code> chun na tástálacha a theastaíonn seiléiniam a reáchtáil.</p>\n<p>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 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>--headless` leis chun an modh seo a chumasú.</p>\n<section id=\"screenshot-tests\">\n<span id=\"id1\"></span><h4>Screenshot tests<a class=\"heading-anchor\" href=\"#screenshot-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>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 <code class=\"docutils literal notranslate\">--screenshots` cumasaithe. Sábhálfar scáileáin scáileáin chuig an eolaire ``tástálacha/scanshots/</code>.</p>\n<p>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 <code class=\"docutils literal notranslate\">&#64;django .test.selenium.screenshot_cases</code> a úsáid le liosta de chineálacha scáileáin tacaithe (<code class=\"docutils literal notranslate\">&quot;desktop_size&quot;</code>, <code class=\"docutils literal notranslate\">``dark&quot;`, agus ``&quot;high_contrast “</code>). Ansin is féidir leis glaoch ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>self.take_screenshot (“unice-screenshot-name”) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ag an bpointe atá ag teastáil chun na scannáin a ghiniúint. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.test.selenium</span> <span class=\"kn\">import</span> SeleniumTestCase<span class=\"p\">,</span> screenshot_cases\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> reverse\n\n\n<span class=\"k\">class</span> <span class=\"nc\">SeleniumTests</span><span class=\"p\">(</span>SeleniumTestCase<span class=\"p\">):</span>\n    <span class=\"nd\">@screenshot_cases</span><span class=\"p\">([</span><span class=\"s2\">&quot;desktop_size&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;mobile_size&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;rtl&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;dark&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;high_contrast&quot;</span><span class=\"p\">])</span>\n    <span class=\"k\">def</span> <span class=\"nf\">test_login_button_centered</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"bp\">self</span><span class=\"o\">.</span>selenium<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"o\">.</span>live_server_url <span class=\"o\">+</span> reverse<span class=\"p\">(</span><span class=\"s2\">&quot;admin:login&quot;</span><span class=\"p\">))</span>\n        <span class=\"bp\">self</span><span class=\"o\">.</span>take_screenshot<span class=\"p\">(</span><span class=\"s2\">&quot;login&quot;</span><span class=\"p\">)</span>\n        <span class=\"o\">...</span>\n</code></pre></div>\n<p>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.</p>\n<aside class=\"version-note version-changed\" data-version=\"5.1\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.1</p><p>Cuireadh an rogha <code class=\"docutils literal notranslate\">--screenshots</code> agus maisitheoir <code class=\"docutils literal notranslate\">&#64;screenshot_cases</code> leis.</p>\n</aside>\n</section>\n</section>\n<section id=\"running-all-the-tests\">\n<span id=\"running-unit-tests-dependencies\"></span><h3>Na tástálacha go léir á rith<a class=\"heading-anchor\" href=\"#running-all-the-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Más mian leat an tsraith iomlán tástálacha a reáchtáil, beidh ort roinnt spleáchais a shuiteáil:</p>\n<ul class=\"simple\">\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/aiosmtpd/\">aiosmtpd</a></p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/argon2-cffi/\">argon2-cffi</a> 19.2.0+</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/asgiref/\">asgiref</a> 3.8.1+ (required)</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/bcrypt/\">bcrypt</a></p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/colorama/\">colorama</a> 0.4.6+</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/docutils/\">docutils</a> 0.19+</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/geoip2/\">geoip2</a></p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/Jinja2/\">Jinja2</a> 2.11+</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/numpy/\">numpy</a></p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/Pillow/\">Pillow</a> 6.2.1+</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/PyYAML/\">PyYAML</a></p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/pywatchman/\">pywatchman</a></p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/redis/\">redis</a> 3.4+</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/setuptools/\">setuptools</a></p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/pymemcache/\">pymemcache</a>, plus a <a class=\"reference external\" href=\"https://memcached.org/\">supported Python binding</a></p></li>\n<li><p><a class=\"reference internal\" href=\"#gettext\">gettext</a> &lt; <a class=\"reference external\" href=\"https://www.gnu.org/software/gettext/manual/gettext.html\">https://www.gnu.org/software/gettext/manual/gettext.html</a>&gt; (:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>gettext_on_windows')</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/selenium/\">selenium</a> 4.8.0+</p></li>\n<li><p>: pypi: sqlparse 0.3.1 + (riachtanach)</p></li>\n<li><p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/tblib/\">tblib</a> 1.5.0+</p></li>\n</ul>\n<p>Is féidir leat na spleáchais seo a fháil i gcomhaid <a href=\"#id6\"><span class=\"problematic\" id=\"id7\">`riachtanais píopa`_</span></a> taobh istigh den eolaire <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>tástálach&lt; <a class=\"reference external\" href=\"https://pip.pypa.io/en/latest/user_guide/#requirements-files\">https://pip.pypa.io/en/latest/user_guide/#requirements-files</a>&gt; a/riachtanais <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>de chrann foinse Django agus iad a shuiteáil mar sin:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-11-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python -m pip install -r tests/requirements/py3.txt\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-11-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py -m pip install -r tests\\requirements\\py3.txt\n</code></pre></div></div></div>\n<p>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.</p>\n<p>Is féidir leat na cuibheoirí bunachar sonraí de do rogha a shuiteáil freisin ag baint úsáide as <code class=\"docutils literal notranslate\">oracle.txt</code>, mysql.txt`, nó <code class=\"docutils literal notranslate\">postgres.txt</code>.</p>\n<p>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.</p>\n<p>Chun na tástálacha GeoDjango a reáchtáil, beidh ort: doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>bunachar sonraí spásúil a chur ar bun agus na leabharlanna Geospásúla a shuiteáil'&lt;/ref/contrib/gis/install/index&gt;.</p>\n<p>Tá gach ceann de na spleáchais seo roghnach. Má tá aon cheann acu in easnamh agat, scipeánfar na tástálacha gaolmhara.</p>\n<p>Chun cuid de na tástálacha autoreload a reáchtáil, beidh ort an tseirbhís <a class=\"reference internal\" href=\"#watchman\">Watchman</a> a shuiteáil &lt; <a class=\"reference external\" href=\"https://facebook.github.io/watchman/\">https://facebook.github.io/watchman/</a>&gt;.</p>\n</section>\n<section id=\"code-coverage\">\n<h3>Clúdach cód<a class=\"heading-anchor\" href=\"#code-coverage\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>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 &lt;topics-testing-code-coverage&gt;Déantar cur síos ar shuiteáil agus úsáid na huirlisí clúdaigh in:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>clúdach cód tástála <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n<p>Chun clúdach a rith ar an tsraith tástála Django ag baint úsáide as na socruithe tástála caighdeánacha:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-12-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>coverage run ./runtests.py --settings<span class=\"o\">=</span>test_sqlite\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-12-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> coverage run runtests.py --settings=test_sqlite\n</code></pre></div></div></div>\n<p>Tar éis clúdach a rith, cuir na staitisticí clúdaigh go léir le chéile trí:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-13-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>coverage combine\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-13-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> coverage combine\n</code></pre></div></div></div>\n<p>Ina dhiaidh sin gineann an tuarascáil html trí rith:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-14-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>coverage html\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-14-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> coverage html\n</code></pre></div></div></div>\n<p>Agus clúdach á reáchtáil do na tástálacha Django, sainmhíníonn an comhad socruithe <code class=\"docutils literal notranslate\">.coveragerc</code> san áireamh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>coverage_html <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>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).</p>\n</section>\n</section>\n<section id=\"contrib-apps\">\n<span id=\"id2\"></span><h2>Aipeanna Contrib<a class=\"heading-anchor\" href=\"#contrib-apps\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>&lt;app_name&gt;Is féidir tástálacha le haghaidh aipeanna contrib a fháil san eolair:source: tests/, de ghnáth faoi <code class=\"docutils literal notranslate\">_tástálacha</code>. Mar shampla, tá tástálacha le haghaidh contrib.auth` lonnaithe in:source: tests/auth_tests.</p>\n</section>\n<section id=\"troubleshooting\">\n<span id=\"troubleshooting-unit-tests\"></span><h2>Fabhtcheartú<a class=\"heading-anchor\" href=\"#troubleshooting\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"test-suite-hangs-or-shows-failures-on-main-branch\">\n<h3>Crochtann nó taispeánann an tsraith tástála teipeanna ar bhrainse <code class=\"docutils literal notranslate\">príomh</code><a class=\"heading-anchor\" href=\"#test-suite-hangs-or-shows-failures-on-main-branch\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Cinntigh go bhfuil an scaoileadh pointe is déanaí agat de <a class=\"reference internal\" href=\"/ga/5.2/faq/install/#faq-python-version-support\"><span class=\"std std-ref\">leagan Python arna thacú</span></a>, 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.</p>\n<p>Ar <strong>macOS</strong> (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:</p>\n<div class=\"code-block\" data-language=\"pytb\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Pytb</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Pytb code\"><code><span class=\"x\">objc[42074]: +[__NSPlaceholderDate initialize] may have been in progress in</span>\n<span class=\"x\">another thread when fork() was called.</span>\n</code></pre></div>\n<p>Chun é seo a sheachaint socraigh athróg comhshaoil <code class=\"docutils literal notranslate\">OBJC_DISABLE_INITIALIZE_FORK_SAFETY</code>, mar shampla:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$ <span class=\"nv\">OBJC_DISABLE_INITIALIZE_FORK_SAFETY</span><span class=\"o\">=</span>YES ./runtests.py\n</code></pre></div>\n<p>Nó cuir <code class=\"docutils literal notranslate\">export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES</code> le comhad tosaithe do bhlaosc (m.sh. <code class=\"docutils literal notranslate\">~/.profile</code>).</p>\n</section>\n<section id=\"many-test-failures-with-unicodeencodeerror\">\n<h3>Go leor teipeanna tástála le <code class=\"docutils literal notranslate\">UnicodeEncodeError</code><a class=\"heading-anchor\" href=\"#many-test-failures-with-unicodeencodeerror\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Mura bhfuil an pacáiste <code class=\"docutils literal notranslate\">locales</code> suiteáilte, teipeann ar roinnt tástálacha le <code class=\"docutils literal notranslate\">UnicodeEncodeError</code>.</p>\n<p>Is féidir leat é seo a réiteach ar chórais atá bunaithe ar Debian, mar shampla, trí rith:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>apt-get install locales\n<span class=\"gp\">$ </span>dpkg-reconfigure locales\n</code></pre></div>\n<p>Is féidir leat é seo a réiteach do chórais macOS trí logáil do bhlaosc a chumrú:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span><span class=\"nb\">export</span> <span class=\"nv\">LANG</span><span class=\"o\">=</span><span class=\"s2\">&quot;en_US.UTF-8&quot;</span>\n<span class=\"gp\">$ </span><span class=\"nb\">export</span> <span class=\"nv\">LC_ALL</span><span class=\"o\">=</span><span class=\"s2\">&quot;en_US.UTF-8&quot;</span>\n</code></pre></div>\n<p>Rith an t-ordú <code class=\"docutils literal notranslate\">locale</code> 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.</p>\n</section>\n<section id=\"tests-that-only-fail-in-combination\">\n<h3>Tástálacha nach dteipeann ach i gcomhcheangal<a class=\"heading-anchor\" href=\"#tests-that-only-fail-in-combination\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>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ú.</p>\n<p>Reáchtálfaidh an rogha <code class=\"docutils literal notranslate\">--bisect</code> de <code class=\"docutils literal notranslate\">runtests.py</code> 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.</p>\n<p>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:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-15-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --bisect basic.tests.ModelTest.test_eq\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-15-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --bisect basic.tests.ModelTest.test_eq\n</code></pre></div></div></div>\n<p>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.</p>\n<p>Ritheann an rogha <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>--péire <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>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:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-16-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --pair basic.tests.ModelTest.test_eq\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-16-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --pair basic.tests.ModelTest.test_eq\n</code></pre></div></div></div>\n<p>péireoidh “test_eq” le gach lipéad tástála.</p>\n<p>&lt;runtests-specifying-labels&gt;Le <code class=\"docutils literal notranslate\">--bisect</code> agus <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>--pair <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>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: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>lipéid tástála breise a shonrú <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>tar éis an chéad cheann:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-17-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py --pair basic.tests.ModelTest.test_eq queries transactions\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-17-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py --pair basic.tests.ModelTest.test_eq queries transactions\n</code></pre></div></div></div>\n<p>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 <code class=\"docutils literal notranslate\">--shuffle</code> agus <code class=\"docutils literal notranslate\">--reverse</code>. 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:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-18-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py basic --shuffle\n<span class=\"gp\">$ </span>./runtests.py basic --reverse\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-18-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py basic --shuffle\n<span class=\"gp\">...\\&gt;</span> runtests.py basic --reverse\n</code></pre></div></div></div>\n</section>\n<section id=\"seeing-the-sql-queries-run-during-a-test\">\n<h3>Ag féachaint ar na ceisteanna SQL ag rith le linn tástála<a class=\"heading-anchor\" href=\"#seeing-the-sql-queries-run-during-a-test\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>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 &lt;django-db-logger&gt;g-sql``. Má chomhcheanglaíonn tú é seo le <code class=\"docutils literal notranslate\">--verbosity=2</code>, aschur gach ceist SQL:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-19-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py basic --debug-sql\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-19-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py basic --debug-sql\n</code></pre></div></div></div>\n</section>\n<section id=\"seeing-the-full-traceback-of-a-test-failure\">\n<h3>Aisrianú iomlán teip tástála a fheiceáil<a class=\"heading-anchor\" href=\"#seeing-the-full-traceback-of-a-test-failure\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>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 <code class=\"docutils literal notranslate\">--parallel</code>:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-20-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>./runtests.py basic --parallel<span class=\"o\">=</span><span class=\"m\">1</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-20-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> runtests.py basic --parallel=1\n</code></pre></div></div></div>\n<p>Is féidir leat an athróg comhshaoil: envvar: DJANGO_TEST_PROCESSES a úsáid freisin chun na críche seo.</p>\n</section>\n</section>\n<section id=\"tips-for-writing-tests\">\n<h2>Leideanna maidir le tástálacha scrí<a class=\"heading-anchor\" href=\"#tips-for-writing-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"isolating-model-registration\">\n<h3>Clárú samhail a leithliú<a class=\"heading-anchor\" href=\"#isolating-model-registration\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>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 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Apps`. Chun seo a dhéanamh, bain úsáid as an maisitheoir:: func: ~django.test.utils.isolate_apps:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n<span class=\"kn\">from</span> <span class=\"nn\">django.test</span> <span class=\"kn\">import</span> SimpleTestCase\n<span class=\"kn\">from</span> <span class=\"nn\">django.test.utils</span> <span class=\"kn\">import</span> isolate_apps\n\n\n<span class=\"k\">class</span> <span class=\"nc\">TestModelDefinition</span><span class=\"p\">(</span>SimpleTestCase<span class=\"p\">):</span>\n    <span class=\"nd\">@isolate_apps</span><span class=\"p\">(</span><span class=\"s2\">&quot;app_label&quot;</span><span class=\"p\">)</span>\n    <span class=\"k\">def</span> <span class=\"nf\">test_model_definition</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">class</span> <span class=\"nc\">TestModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n            <span class=\"k\">pass</span>\n\n        <span class=\"o\">...</span>\n</code></pre></div>\n<aside class=\"admonition-setting-app-label admonition\" role=\"note\">\n<p class=\"admonition-title\">Socrú <code class=\"docutils literal notranslate\">`app_label</code></p>\n<p>Sanntar lipéad an aip ina bhfuil a rang tástála suite go huathoibríoch do mhúnlaí a shainmhínítear i modh tástála gan aon sainráite:attr: ~django.db.models.options.app_label.</p>\n<p>D'fhonn a chinntiú go bhfuil na samhlacha atá sainmhínithe laistigh de chomhthéacs de:func: ~django.test.utils.isolate_apps cásanna suiteáilte i gceart, ba cheart duit an tacar spriocdhírithe <code class=\"docutils literal notranslate\">app_label</code> a rith mar argóintí:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">tástálach/app_label/tests.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n<span class=\"kn\">from</span> <span class=\"nn\">django.test</span> <span class=\"kn\">import</span> SimpleTestCase\n<span class=\"kn\">from</span> <span class=\"nn\">django.test.utils</span> <span class=\"kn\">import</span> isolate_apps\n\n\n<span class=\"k\">class</span> <span class=\"nc\">TestModelDefinition</span><span class=\"p\">(</span>SimpleTestCase<span class=\"p\">):</span>\n    <span class=\"nd\">@isolate_apps</span><span class=\"p\">(</span><span class=\"s2\">&quot;app_label&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;other_app_label&quot;</span><span class=\"p\">)</span>\n    <span class=\"k\">def</span> <span class=\"nf\">test_model_definition</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"c1\"># This model automatically receives app_label=&#39;app_label&#39;</span>\n        <span class=\"k\">class</span> <span class=\"nc\">TestModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n            <span class=\"k\">pass</span>\n\n        <span class=\"k\">class</span> <span class=\"nc\">OtherAppModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n            <span class=\"k\">class</span> <span class=\"nc\">Meta</span><span class=\"p\">:</span>\n                app_label <span class=\"o\">=</span> <span class=\"s2\">&quot;other_app_label&quot;</span>\n\n        <span class=\"o\">...</span>\n</code></pre></figure>\n</aside>\n</section>\n</section>","rootId":"unit-tests","toc":[{"title":"Tástálacha aonaid a rith","anchor":"running-the-unit-tests","children":[{"title":"Tosaigh gasta","anchor":"quickstart","children":[]},{"title":"Tástálacha reatha ag baint úsáide as tocs","anchor":"running-tests-using-tox","children":[{"title":"Leaganacha Python eile agus cúltaca bunachar sonraí a thástáil","anchor":"testing-other-python-versions-and-database-backends","children":[]},{"title":"Na tástálacha JavaScript a rith","anchor":"running-the-javascript-tests","children":[]}]},{"title":"Tástálacha a reáchtáil ag baint úsáide as django-docker-box","anchor":"running-tests-using-django-docker-box","children":[]},{"title":"Ag baint úsáide as modúl eile ``socruithe ``","anchor":"using-another-settings-module","children":[]},{"title":"Níl ach cuid de na tástálacha á rith","anchor":"running-only-some-of-the-tests","children":[]},{"title":"Rith na tástálacha Seiléiniam","anchor":"running-the-selenium-tests","children":[{"title":"Screenshot tests","anchor":"screenshot-tests","children":[]}]},{"title":"Na tástálacha go léir á rith","anchor":"running-all-the-tests","children":[]},{"title":"Clúdach cód","anchor":"code-coverage","children":[]}]},{"title":"Aipeanna Contrib","anchor":"contrib-apps","children":[]},{"title":"Fabhtcheartú","anchor":"troubleshooting","children":[{"title":"Crochtann nó taispeánann an tsraith tástála teipeanna ar bhrainse príomh","anchor":"test-suite-hangs-or-shows-failures-on-main-branch","children":[]},{"title":"Go leor teipeanna tástála le UnicodeEncodeError","anchor":"many-test-failures-with-unicodeencodeerror","children":[]},{"title":"Tástálacha nach dteipeann ach i gcomhcheangal","anchor":"tests-that-only-fail-in-combination","children":[]},{"title":"Ag féachaint ar na ceisteanna SQL ag rith le linn tástála","anchor":"seeing-the-sql-queries-run-during-a-test","children":[]},{"title":"Aisrianú iomlán teip tástála a fheiceáil","anchor":"seeing-the-full-traceback-of-a-test-failure","children":[]}]},{"title":"Leideanna maidir le tástálacha scrí","anchor":"tips-for-writing-tests","children":[{"title":"Clárú samhail a leithliú","anchor":"isolating-model-registration","children":[]}]}],"breadcrumbs":[{"docname":"internals/index","title":"Inmheánacha Django","url":"/ga/5.2/internals/"},{"docname":"internals/contributing/index","title":"Ag cur le Django","url":"/ga/5.2/internals/contributing/"},{"docname":"internals/contributing/writing-code/index","title":"Cód rannpháirteach","url":"/ga/5.2/internals/contributing/writing-code/"}],"prev":{"docname":"internals/contributing/writing-code/submitting-patches","title":"Ranníocaí a chur isteach","url":"/ga/5.2/internals/contributing/writing-code/submitting-patches/"},"next":{"docname":"internals/contributing/writing-code/working-with-git","title":"Ag obair le Git agus GitHub","url":"/ga/5.2/internals/contributing/writing-code/working-with-git/"},"formats":{"html":"/ga/5.2/internals/contributing/writing-code/unit-tests/","markdown":"/ga/5.2/internals/contributing/writing-code/unit-tests.md","json":"/ga/5.2/internals/contributing/writing-code/unit-tests.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/internals/contributing/writing-code/unit-tests.txt","official":"https://docs.djangoproject.com/ga/5.2/internals/contributing/writing-code/unit-tests/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}