Weblate sınama paketi ve sürekli bütünleştirme¶
Sınama paketleri geçerli kodun çoğu için bulunabilir. Herhangi bir yeni özellik için sınama çalışmaları ekleyerek kapsamı artırın ve çalıştığını doğrulayın.
Sürekli bütünleştirme¶
Güncel sınama sonuçları GitHub işlemleri bölümünde bulunabilir ve kapsama alanı Codecov bölümünde raporlanır.
Farklı yönleri doğrulayacak birkaç görev vardır:
Birim sınamaları
Belge oluşturma ve dış bağlantılar
Desteklenen tüm sürümlerden aktarım sınaması
Kod standardı
Kurulum doğrulaması (oluşturulan dist dosyalarının hiçbir şeyi kaçırmamasını ve sınanabilmesini sağlar)
Sürekli bütünleştirme yapılandırması .github/workflows
klasöründe bulunur ve yoğun olarak ci
klasöründeki yardımcı betikleri kullanır. Betikler el ile de yürütülebilir, ancak çoğunlukla kullanılacak Django ayarları dosyasını ve veri tabanı bağlantısını tanımlayan birkaç ortam değişkeni gereklidir. Bunun örnek tanımını scripts/test-database.sh
içinde bulabilirsiniz:
# 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
Basit yürütme şöyle görünebilir:
. scripts/test-database.sh
./ci/run-migrate
./ci/run-test
./ci/run-docs
Yerel sınama¶
Before running test, please ensure test dependencies are installed. This can be done by pip install -e .[test]
.
Bir sınama paketini yerel olarak çalıştırmak için şunu kullanın:
DJANGO_SETTINGS_MODULE=weblate.settings_test ./manage.py test
İpucu
Sınama kullanılacak bir veri tabanı (PostgreSQL) sunucusuna gerek duyacaksınız. Django varsayılan olarak, test_
ön eki olan sınamaları çalıştırmak için ayrı bir veri tabanı oluşturur. Bu nedenle ayarlarınızın weblate
kullanacak şekilde yapılandırılması durumunda, sınamalar test_weblate
veri tabanını kullanır. Kurulum yönergeleri için Weblate için veri tabanı kurulumu bölümüne bakabilirsiniz.
weblate/settings_test.py
sürekli bütünleştirme ortamında da kullanılır (ayrıntılı bilgi almak için: Sürekli bütünleştirme) ve ortam değişkenleri kullanılarak ayarlanabilir:
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
Sınamaları çalıştırmadan önce, bazı sınamalar için var olmaları gerektiğinden durağan dosyaları toplamalısınız:
DJANGO_SETTINGS_MODULE=weblate.settings_test ./manage.py collectstatic
Çalıştırılacak sınamaları tek tek de belirtebilirsiniz:
DJANGO_SETTINGS_MODULE=weblate.settings_test ./manage.py test weblate.gitexport
İpucu
Sınamalar geliştirici docker kapsayıcısı içinde de yürütülebilir. Ayrıntılı bilgi almak için: Weblate platformunu Docker üzerinde yerel olarak çalıştırma.
Ayrıca bakınız
Django sınamalarını çalıştırmak ve yazmak ile ilgili bilgi almak için Testing in Django bölümüne bakabilirsiniz.