Rumah > pembangunan bahagian belakang > Tutorial Python > Rangka Kerja Pengujian Kod Python untuk Dipilih

Rangka Kerja Pengujian Kod Python untuk Dipilih

Linda Hamilton
Lepaskan: 2024-10-10 14:13:03
asal
508 orang telah melayarinya

Python Code Testing Frameworks to Choose From

Sesuatu untuk dipelajari semasa menulis kod kualiti, kerana terdapat tahap pembangunan dan amalan terbaik. Pemilihan alatan dan teknik adalah sama penting.

Rangka kerja ujian berdasarkan keperluan atau keperluan:

Doctest

  • Rangka kerja ujian mudah
  • Tulis kes ujian dalam docstrings fungsi
  • Menempatkan kes ujian secara automatik dalam rentetan dokumen
  • Baik untuk dokumentasi dan memastikan kod dikemas kini

Contoh:

def add(a, b):
    """
    Add two numbers
    >>> add(2, 3)
    5
    """
    return a + b

if __name__=="__main__":
    import doctest
    doctest.testmod()
    print(add(2, 3))
Salin selepas log masuk

Unittest

  • Pustaka terbina dalam Python
  • Tulis kes ujian berasaskan kelas dan kaedah
  • Asingkan kod dan kes ujian
  • Nama kes ujian hendaklah bermula dengan 'test_'

Contoh:

import unittest
from main import add

class TestAdd(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(2, 3), 5)
        self.assertEqual(add(-2, -3), -5)
        self.assertEqual(add(-2, 3), 1)
        self.assertEqual(add(2, -3), -1)

if __name__ == "__main__":
    unittest.main()
Salin selepas log masuk

Pytest

  • Pustaka Python luaran
  • Tidak perlu menulis kes ujian berasaskan kelas
  • Kurang verbose berbanding unittest
  • Output yang lebih deskriptif dan berwarna-warni
  • Menyokong liputan kod

Contoh:

from main import add

def test_add():
    assert add(2, 3) == 5
    assert add(2, -3) == -1
    assert add(-2, 3) == 1
    assert add(-2, -3) == -5
Salin selepas log masuk

Akhir sekali, mari kita pertimbangkan juga kes di mana kes ujian memerlukan persediaan khusus untuk memastikan ujian konsisten.

Unittest menyediakan kefungsian setUp() dan tearDown(), yang dijalankan sebelum dan selepas setiap pelaksanaan ujian.

Pytest menyediakan penghias @pytest.fixture, yang dijalankan sebelum dan selepas setiap pelaksanaan ujian.

Atas ialah kandungan terperinci Rangka Kerja Pengujian Kod Python untuk Dipilih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan