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

Tá torthaí tástála reatha le fáil ar GitHub Actions agus tuairiscítear an clúdach ar Codecov.

Tá roinnt jabanna ann chun gnéithe éagsúla a fhíorú:

  • Tástálacha aonaid

  • Tógáil doiciméad agus naisc sheachtracha

  • Tástáil imirce ó gach eisiúint tacaithe

  • Cearrbhachas cód

  • 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

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.