Flask 第一個測試

2022-02-24 09:30 更新

是進(jìn)行第一個應(yīng)用功能的測試的時候了。讓我們檢查當(dāng)我們訪問 根路徑(/)時應(yīng)用程序是否正確地返回了了“No entries here so far” 字樣。為此,我們添加了一個新的測試函數(shù)到我們的類當(dāng)中, 如下面的代碼所示:

class FlaskrTestCase(unittest.TestCase):

    def setUp(self):
        self.db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp()
        self.app = flaskr.app.test_client()
        flaskr.init_db()

    def tearDown(self):
        os.close(self.db_fd)
        os.unlink(flaskr.DATABASE)

    def test_empty_db(self):
        rv = self.app.get('/')
        assert 'No entries here so far' in str(rv.data)

注意到我們的測試函數(shù)以 test 開頭,這允許 unittest 模塊自動 識別出哪些方法是一個測試方法,并且運(yùn)行它。

通過使用 self.app.get 我們可以發(fā)送一個 HTTP GET 請求給應(yīng)用的 某個給定路徑。返回值將會是一個 response_class 對象。我們可以使用 data 屬性 來檢查程序的返回值(以字符串類型)。在這里,我們檢查 'No entries here so far' 是不是輸出內(nèi)容的一部分。

再次運(yùn)行,您應(yīng)該看到一個測試成功通過了:

$ python flaskr_tests.py
.
----------------------------------------------------------------------
Ran 1 test in 0.034s

OK
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號