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.

  • Formáidiú cóid ag baint úsáide as 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 backend to use postgresql / mysql / mariadb
export CI_DATABASE="${1:-postgresql}"

# 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

Sula ndéanann tú an tástáil, cinntigh le do thoil go bhfuil spleáchais tástála suiteáilte. Is féidir é seo a dhéanamh le pip install -e .[test].

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 ./manage.py collectstatic

Is féidir leat pytest a úsáid chun sraith tástála a rith go háitiúil:

pytest weblate

Comhad tástála aonair a rith:

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_DATABASE=postgresql
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

Déantar na tástálacha trí úsáid a bhaint as py.test. Ar dtús ní mór duit riachtanais tástála a shuiteáil:

uv pip install -e '.[dev]'

Is féidir leat an tsraith tástála a rith ansin sa taisclann seiceáil amach:

py.test

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.