Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengaturcaraan pelayan Python: pembangunan dipacu ujian dengan pytest

Pengaturcaraan pelayan Python: pembangunan dipacu ujian dengan pytest

王林
王林asal
2023-06-18 21:57:06998semak imbas

Python, sebagai bahasa pengaturcaraan yang berkuasa dan popular, sangat sesuai untuk pengaturcaraan sebelah pelayan. Salah satu aspek yang paling penting dalam pengaturcaraan bahagian pelayan ialah ujian, kerana tidak kira betapa sempurnanya aplikasi anda, ia sentiasa perlu diuji untuk memastikan kestabilan dan ketepatannya.

Inilah masanya untuk menggunakan kaedah Test Driven Development (TDD). TDD bermaksud menulis kes ujian sebelum benar-benar menulis kod. Dengan pendekatan ini, anda boleh menulis aplikasi yang stabil dan boleh dipercayai dengan lebih mudah kerana kes ujian boleh membantu anda mencari dan membetulkan pepijat. Salah satu rangka kerja ujian yang sangat dihormati ialah pytest.

Dalam artikel ini, kita akan membincangkan proses pembangunan dipacu ujian menggunakan pytest.

Mula-mula, mari kita sediakan contoh. Kami akan mencipta aplikasi web yang boleh mendapatkan definisi perkataan dan mendapatkannya berdasarkan sebahagian daripada pertuturan.

Dalam aplikasi ini kita perlu menulis kelas dan kaedah berikut:

Kelas perkataan - mewakili perkataan, mengandungi sebahagian daripada ucapan dan definisi.

class Word:
    def __init__(self, word, part_of_speech, definition):
        self.word = word
        self.part_of_speech = part_of_speech
        self.definition = definition

Kelas kamus - Mewakili kamus dengan kaedah untuk menambah dan menanyakan definisi perkataan.

class Dictionary:
    def __init__(self):
        self.words = []

    def add_word(self, word, part_of_speech, definition):
        new_word = Word(word, part_of_speech, definition)
        self.words.append(new_word)

    def search(self, query):
        results = []
        for word in self.words:
            if query in word.definition:
                results.append(word)
        return results

Sekarang kita mempunyai dua kelas ini, mari mula menulis kes ujian.

Kami akan menggunakan pytest untuk menulis kes ujian pytest ialah rangka kerja ujian Python yang mudah dan fleksibel.

Pertama, kita perlu memasang pytest. Anda boleh memasang pytest menggunakan pip:

pip install pytest

Seterusnya, mari buat fail test_dictionary.py dalam folder projek kami. Kod dalam fail ini akan mengandungi kes ujian yang akan kami gunakan untuk menguji kelas Kamus dan Word.

Kami akan menulis kes ujian terlebih dahulu untuk menguji kelas Word kami. Kami akan menggunakan pernyataan tegas untuk menguji sama ada hujah bagi setiap perkataan disimpan dengan betul.

class TestWord:
    def test_init(self):
        w = Word('test', 'noun', 'this is a test')
        assert w.word == 'test'
        assert w.part_of_speech == 'noun'
        assert w.definition == 'this is a test'

Kami menggunakan pernyataan tegas untuk menyemak sama ada perkataan, bahagian_pertuturan dan takrifan ditetapkan dengan betul sebagai parameter input untuk perkataan.

Sekarang, kami akan menulis beberapa kes ujian untuk menguji kelas Kamus kami.

class TestDictionary:
    def test_add_word(self):
        d = Dictionary()
        d.add_word('apple', 'noun', 'a fruit')
        assert len(d.words) == 1
        assert d.words[0].word == 'apple'
        assert d.words[0].part_of_speech == 'noun'
        assert d.words[0].definition == 'a fruit'

    def test_search(self):
        d = Dictionary()
        d.add_word('apple', 'noun', 'a fruit')
        d.add_word('banana', 'noun', 'another fruit')
        d.add_word('carrot', 'noun', 'a vegetable')
        results = d.search('fruit')
        assert len(results) == 2
        assert results[0].word == 'apple'
        assert results[1].word == 'banana'

Melalui kes ujian ini, kami boleh menguji sama ada kelas Kamus kami menambah perkataan dengan betul dan mengembalikan hasil dengan betul apabila menggunakan kaedah carian.

Kini kami menjalankan kes ujian untuk melihat sama ada ia lulus. Dalam terminal, gunakan arahan berikut untuk menjalankan pytest:

pytest

Jika semua ujian lulus, anda akan melihat output yang serupa dengan yang berikut:

============================== test session starts ==============================
platform linux -- Python 3.x.y, pytest-6.x.y, py-1.x.y, pluggy-1.x.y
rootdir: /path/to/project
collected 3 items                                                              

test_dictionary.py ...                                                    [100%]

=============================== 3 passed in 0.01s ===============================

Ini bermakna kes ujian kami lulus , Kamus kami dan kelas Word berfungsi dengan baik.

Dengan menggunakan pytest untuk pembangunan dipacu ujian, kami boleh menulis kes ujian sebelum menulis kod, yang boleh membantu kami memastikan kualiti dan kebolehpercayaan kod. pytest ialah rangka kerja ujian yang sangat popular yang mudah digunakan dan berkuasa, dan boleh memenuhi kebanyakan keperluan ujian pengaturcaraan bahagian pelayan Python.

Atas ialah kandungan terperinci Pengaturcaraan pelayan Python: pembangunan dipacu ujian dengan pytest. 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