Untuk menjalankan testing dj Django, cukup dengan perintah ./manage.py test
. Beberapa argument optional yang bisa dijalankan ketika testing anrtara lain:
--keep-db
untuk tidak menghapus database yang digunakan ketik testing.-v [2, 3]
untuk menampilkan detail informasi ketika menjalankan testing. Pilihan level detail adalah 2 & 3.--settings SETTINGS_MODULE
untuk menentukan module settings yang dipakai untuk menjalankan testing.--testrunner TEST_RUNNER_CLASS
untuk menentukan test runner yang dipakai dalam menjalankan testing.
Argument testing django selengkapnya bisa dilihat dengan menjalankan ./manage.py test -h
.
Mulai versi 1.8, Django memiliki fitur untuk menambahkan argument ketika melakukan testing, yaitu dengan meng-override classmethode add_arguments
dari class django.test.runner.DiscoverRunner
di dalam sebuah custom test runner. Berikut ini contoh langkah-langkah untuk membuat custom test runner yang memiliki tambahan argument --headless
.
Buat module custom_test_runner.py
Untuk menampung class test runner, buatlah sebuah module dengan nama custom_test_runner.py
kemudian simpan module tersebut di direktori yang sama dengan module settings.py
Buat test runner class
Tulislah class di bawah ini pada module yang di buat sebelumnya.
from django.test.runner import DiscoverRunner
class CustomTestRunner(DiscoverRunner):
@classmethod
def add_arguments(cls, parser):
parser.add_argument('--headless',
action='store_true', default=False, dest='headless',
help='Add this options to do headless browser testing')
Edit module settings.py
Tambahkan keterangan di module settings.py untuk menggunakan test runner buatan kita, dengan cara menambahkan bari berikut:
TEST_RUNNER = 'myproject.custom_test_runner.CustomTestRunner'
Ubahlah path di atas sesuai dengan konfigurasi project anda. Biasanya, myproject
adalah direktori tempat module settings.py tersimpan.
Konfirmasi argument tambahan
Untuk mengetahui apakah penambahan custom argument berhasil, anda bisa menggunakan command python manage.py test -h
, apabila berhasil, maka custom argument yang anda buat akan ditampilkan.