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.