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

Rangka Kerja Pengujian Kod Python untuk Dipilih

Linda Hamilton
Linda Hamiltonasal
2024-10-10 14:13:03356semak imbas

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))

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()

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

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!

Kenyataan:
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