Pytest - Dimulai Dengan Tes Dasar
Sekarang, kita akan mulai dengan program pytest pertama kita. Kami pertama-tama akan membuat direktori dan dengan demikian, membuat file uji kami di direktori.
Mari kita ikuti langkah-langkah yang ditunjukkan di bawah ini -
Buat direktori baru bernama automation dan masuk ke direktori di baris perintah Anda.
Buat file bernama test_square.py dan tambahkan kode di bawah ini ke file itu.
import math
def test_sqrt():
num = 25
assert math.sqrt(num) == 5
def testsquare():
num = 7
assert 7*7 == 40
def tesequality():
assert 10 == 11
Jalankan tes menggunakan perintah berikut -
pytest
Perintah di atas akan menghasilkan output berikut -
test_square.py .F
============================================== FAILURES
==============================================
______________________________________________ testsquare
_____________________________________________
def testsquare():
num=7
> assert 7*7 == 40
E assert (7 * 7) == 40
test_square.py:9: AssertionError
================================= 1 failed, 1 passed in 0.06 seconds
=================================
Lihat hasil baris pertama. Ini menampilkan nama file dan hasilnya. F menunjukkan kegagalan pengujian dan titik (.) Menunjukkan keberhasilan pengujian.
Di bawahnya, kita bisa melihat detail dari tes yang gagal. Ini akan menunjukkan di pernyataan mana tes gagal. Dalam contoh kita, 7 * 7 dibandingkan untuk persamaan dengan 40, yang mana itu salah. Pada akhirnya, kita bisa melihat ringkasan eksekusi uji, 1 gagal dan 1 lolos.
Fungsi tesequality tidak dijalankan karena pytest tidak akan menganggapnya sebagai pengujian karena namanya bukan dalam format test*.
Sekarang, jalankan perintah di bawah ini dan lihat hasilnya lagi -
pytest -v
-v meningkatkan verbositas.
test_square.py::test_sqrt PASSED
test_square.py::testsquare FAILED
============================================== FAILURES
==============================================
_____________________________________________ testsquare
_____________________________________________
def testsquare():
num = 7
> assert 7*7 == 40
E assert (7 * 7) == 40
test_square.py:9: AssertionError
================================= 1 failed, 1 passed in 0.04 seconds
=================================
Sekarang hasilnya lebih menjelaskan tentang tes yang gagal dan tes yang lulus.
Note - Perintah pytest akan mengeksekusi semua file berformat test_* atau *_test di direktori dan subdirektori saat ini.