Pengujian Flask: Amalan terbaik untuk ujian unit dalam aplikasi web Python

王林
Lepaskan: 2023-06-17 08:50:48
asal
1161 orang telah melayarinya

Pengujian Kelalang: Amalan terbaik untuk ujian unit dalam aplikasi web Python

Dengan perkembangan Internet, semakin banyak syarikat telah mula memindahkan perniagaan mereka secara beransur-ansur ke aplikasi web. Keselamatan dan kebolehpercayaan adalah salah satu isu terpenting dalam pembangunan aplikasi web, terutamanya untuk aplikasi peringkat perusahaan. Ujian unit adalah salah satu cara penting untuk memastikan keselamatan dan kebolehpercayaan aplikasi web Ia boleh memastikan bahawa masalah dapat dikesan dengan cepat dan dibaiki apabila situasi yang tidak dijangka berlaku.

Antara rangka kerja web Python, Flask ialah rangka kerja aplikasi web yang ringan. Ia mempunyai ciri-ciri kesederhanaan, kemudahan penggunaan, fleksibiliti, dsb., dan digunakan secara meluas dalam bidang pembangunan web. Untuk meningkatkan kebolehujian Flask, Flask-Testing wujud. Pengujian Flask ialah rangka kerja ujian Python yang direka untuk ujian unit aplikasi Flask.

Dalam artikel ini, kami akan memperkenalkan penggunaan dan amalan terbaik Pengujian Kelalang, termasuk: persediaan persekitaran, pemasangan perpustakaan Pengujian Kelalang, mengkonfigurasi aplikasi Kelalang, menulis kes ujian, dsb. Kami berharap melalui pengenalan kepada Pengujian Flask, pembaca dapat memahami dengan lebih baik amalan terbaik untuk ujian unit dalam aplikasi web Python.

  1. Persediaan persekitaran

Sebelum menggunakan Pengujian Flask, anda perlu menyediakan persekitaran pembangunan Python. Kaedah memasang Python agak mudah Anda hanya perlu memuat turun versi Python yang sepadan dari laman web rasmi Python dan memasangnya. Selain itu, kita juga perlu memasang persekitaran maya.

Persekitaran maya ialah alat Python yang boleh mencipta persekitaran pembangunan terpencil untuk aplikasi Python yang berbeza, memastikan perpustakaan yang digunakan oleh setiap aplikasi Python adalah bebas dan mengelakkan pergantungan antara aplikasi dan konflik yang berbeza. Persekitaran maya boleh dibuat menggunakan alat venv atau virtualenv.

  1. Pasang perpustakaan Pengujian Kelalang

Kaedah memasang perpustakaan Pengujian Kelalang adalah sangat mudah, hanya gunakan pip untuk memasangnya. Jalankan arahan berikut dalam terminal untuk melengkapkan pemasangan:

pip install flask-testing
Salin selepas log masuk

Selepas pemasangan selesai, anda boleh menggunakan perpustakaan Pengujian Flask dalam penterjemah Python.

  1. Konfigurasikan aplikasi Flask

Sebelum menggunakan Pengujian Flask, kita perlu mentakrifkan aplikasi Flask. Di sini, kami akan memperkenalkannya menggunakan aplikasi Flask mudah sebagai contoh. Aplikasi Flask ini mengandungi API minimalis:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def index():
    return jsonify({'message': 'Hello, world!'})

if __name__ == '__main__':
    app.run()
Salin selepas log masuk

Aplikasi ini mengandungi laluan yang mengembalikan mesej berformat JSON apabila laluan akar diakses.

  1. Menulis Kes Ujian

Seterusnya, kami akan menulis kes ujian. Dalam perpustakaan Pengujian Flask, kes ujian boleh mewarisi kelas FlaskTestCase supaya ia boleh diuji unit dengan cara yang lebih Pythonic.

Langkah pertama ialah memperkenalkan Flask, Flask-Testing dan unittest:

from flask import Flask
from flask_testing import TestCase
import unittest
Salin selepas log masuk

Langkah kedua ialah untuk menentukan persekitaran ujian, di mana pangkalan data ujian, kunci ujian dan kandungan lain boleh dikonfigurasikan:

class TestAPI(TestCase):
    def create_app(self):
        app = Flask(__name__)
        app.config['TESTING'] = True
        app.config['DEBUG'] = False
        return app

    def setUp(self):
        pass

    def tearDown(self):
        pass
Salin selepas log masuk

create_app ialah fungsi kilang yang digunakan untuk mencipta aplikasi ujian. Dalam kaedah ini, dua item konfigurasi TESTING dan DEBUG ditetapkan dan dikembalikan. Kaedah setUp dan tearDown ialah pra dan pasca syarat bagi kes ujian, di mana operasi seperti permulaan pangkalan data dan pembersihan boleh dilakukan.

Langkah ketiga ialah menulis kes ujian:

class TestAPI(TestCase):
    def create_app(self):
        # ...

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test_index(self):
        response = self.client.get('/')
        self.assert200(response)
        self.assertJSONEqual(response.data, {'message': 'Hello, world!'})
Salin selepas log masuk

Dalam kes ujian ini, kami menggunakan objek klien untuk menguji API Objek ini adalah klien yang disediakan oleh perpustakaan Pengujian Flask . Simulasikan menghantar permintaan HTTP. assert200 digunakan untuk menentukan sama ada kod status respons ialah 200, dan assertJSONEqual digunakan untuk menentukan sama ada data respons mematuhi format JSON.

  1. Jalankan ujian

Dalam aplikasi sampel Flask ini, kami hanya mempunyai satu kes ujian dan kami boleh menjalankan ujian menggunakan unittest. Jalankan arahan berikut dalam terminal untuk menjalankan ujian:

python -m unittest test.py
Salin selepas log masuk

Selepas larian ujian selesai, keputusan ujian dan maklumat liputan akan dipaparkan.

Ringkasan

Artikel ini memperkenalkan penggunaan dan amalan terbaik Pengujian Kelalang. Dengan memahami kaedah konfigurasi dan teknik penggunaan Pengujian Flask, pembaca boleh lebih memahami amalan terbaik untuk ujian unit dalam aplikasi web Python. Saya harap artikel ini boleh membantu pembaca Jika anda mempunyai lebih banyak soalan tentang pembangunan web, sila berasa bebas untuk berkomunikasi dan berbincang.

Atas ialah kandungan terperinci Pengujian Flask: Amalan terbaik untuk ujian unit dalam aplikasi web Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan