Weblate testsuite agus comhtháthú leanúnach¶
Tá suiteanna tástála ann don chuid is mó den chód reatha, méadaítear an clúdach trí chásanna tástála a chur leis d’aon fheidhmiúlacht nua, agus deimhnigh go n-oibríonn sé.
Comhtháthú leanúnach¶
Braitheann Weblate ar GitHub Actions chun tástálacha a rith, doiciméadú a thógáil, cóid a dhíchumadh, agus tascanna eile a dhéanamh chun cáilíocht an chóid a chinntiú.
Bailíonn Codecov an fhaisnéis faoi chlúdach cóid ó na tástálacha a reáchtáladh.
Tá roinnt jabanna ann chun gnéithe éagsúla a fhíorú:
Tástálacha aonaid agus feidhmiúla ag baint úsáide as pytest.
Tógáil doiciméadachta agus naisc sheachtracha ag baint úsáide as Sphinx.
Línteáil cóid agus dearbhú cáilíochta ag baint úsáide as ruff agus pylint.
Scanadh slándála cóid ag baint úsáide as CodeQL.
Tá tástáil ar athruithe amhairc ag baint úsáide as Argos CI.
Formáidiú cóid ag baint úsáide as prek, athchur i bhfeidhm níos tapúla ag tríú páirtí ar an gcreat pre-commit.
Tástáil imirce ó gach eisiúint tacaithe
Fíorú socraithe (cinntíonn sé nach gcaillfidh comhaid distéire ginte rud ar bith agus gur féidir iad a thástáil)
Tá an chumraíocht don CI i .github/workflows eolaire. Úsáideann sé go mór scripteanna cúntóra atá stóráilte in eolaire ci. Is féidir na scripteanna a fhorghníomhú de láimh freisin, ach teastaíonn roinnt athróga timpeallachta uathu, ag sainmhíniú den chuid is mó comhad socruithe Django chun nasc bunachar Tá an sainmhíniú samplach air sin in scripts/test-database.sh`:
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
# Simple way to configure test database from environment
# shellcheck shell=sh
# Database server configuration
export CI_DB_USER=weblate
export CI_DB_PASSWORD=weblate
export CI_DB_HOST=127.0.0.1
# Django settings module to use
export DJANGO_SETTINGS_MODULE=weblate.settings_test
Is féidir breathnú ar fhorghníomhú simplí mar:
source scripts/test-database.sh
./ci/run-migrate
./ci/run-test
./ci/run-docs
Tástáil áitiúil ar Weblate¶
Before running tests, please ensure development dependencies are installed:
uv sync --all-extras --dev
Tástáil ag baint úsáide as pytest¶
Sula ndéanann tú tástálacha ba cheart duit comhaid statacha a bhailiú mar braitheann roinnt tástálacha orthu a bheith i láthair:
DJANGO_SETTINGS_MODULE=weblate.settings_test uv run ./manage.py collectstatic --noinput
You can use pytest to run the test suite locally:
uv run pytest
Comhad tástála aonair a rith:
uv run pytest weblate/utils/tests/test_search.py
Hint
Beidh freastalaí bunachar sonraí (PostgreSQL) uait le húsáid le haghaidh tástálacha. De réir réamhshocraithe cruthaíonn Django bunachar sonraí ar leith chun tástálacha a rith le réimír test_, mar sin ar eagla go bhfuil do shocruithe cumraithe chun weblate a úsáid, úsáidfidh na tástálacha bunachar sonraí test_weblate. Féach Socrú bunachar sonraí le haghaidh Weblate le haghaidh treoracha cumraíochta.
Úsáidtear an weblate/settings_test.py i dtimpeallacht CI freisin (féach Comhtháthú leanúnach) agus is féidir é a thiúnadh le hathróga timpeallachta:
export CI_DB_USER=weblate
export CI_DB_PASSWORD=weblate
export CI_DB_HOST=127.0.0.1
export CI_DB_PORT=60000
export DJANGO_SETTINGS_MODULE=weblate.settings_test
Hint
Is féidir na tástálacha a dhéanamh freisin laistigh de choimeádán duga an fhorbróra, féach Weblate a rith go háitiúil i Docker.
See also
Féach Testing in Django le haghaidh tuilleadh eolais ar rith agus scríobh trialacha do Django.
Tástáil áitiúil ar mhodúil Weblate¶
The tests are executed using pytest. First you need to install development dependencies:
uv sync --all-extras --dev
Is féidir leat an tsraith tástála a rith ansin sa taisclann seiceáil amach:
uv run pytest
Stórlann tástála¶
Úsáideann go leor de na tástálacha i sraith tástála Weblate an stór tástála. Coinnítear stór an tsraith tástála ag https://github.com/WeblateOrg/test. Úsáidtear an script scripts/pack-test-data.sh ansin chun tarball a ghiniúint le stór do gach ceann de na córais rialaithe leaganacha a dtacaítear leo. Stóráiltear iad seo mar weblate/trans/tests/data/test-base-repo.git.tar, weblate/trans/tests/data/test-base-repo.hg.tar, agus weblate/trans/tests/data/test-base-repo.svn.tar i stór Weblate.
Tá clibeanna ar an stór https://github.com/WeblateOrg/test tráth an scaoilte, rud a chinntíonn gur féidir na clibeanna scaoilte a úsáid chun rochtain a fháil ar shonraí tástála a úsáideadh tráth an scaoilte. Déanann an script iarracht tarballs in-atáirgthe a chruthú a oiread agus is féidir.