99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Flask 測試的大框架

2021-08-10 17:35 更新

為了測試這個(gè)引用,我們添加了第二個(gè)模塊(flaskr_tests.py), 并且創(chuàng)建了一個(gè)框架如下:

import os
import flaskr
import unittest
import tempfile

class FlaskrTestCase(unittest.TestCase):

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

    def tearDown(self):
        os.close(self.db_fd)
        os.unlink(flaskr.app.config['DATABASE'])

if __name__ == '__main__':
    unittest.main()

在 setUp() 方法的代碼創(chuàng)建了一個(gè)新的測試 客戶端并且初始化了一個(gè)新的數(shù)據(jù)庫。這個(gè)函數(shù)將會(huì)在每次獨(dú)立的測試函數(shù) 運(yùn)行之前運(yùn)行。要在測試之后刪除這個(gè)數(shù)據(jù)庫,我們在 tearDown() 函數(shù)當(dāng)中關(guān)閉這個(gè)文件,并將它從文件系統(tǒng)中刪除。同時(shí),在初始化的時(shí)候 TESTING 配置標(biāo)志被激活,這將會(huì)使得處理請求時(shí)的錯(cuò)誤捕捉失效,以便于 您在進(jìn)行對應(yīng)用發(fā)出請求的測試時(shí)獲得更好的錯(cuò)誤反饋。

這個(gè)測試客戶端將會(huì)給我們一個(gè)通向應(yīng)用的簡單接口,我們可以激發(fā) 對向應(yīng)用發(fā)送請求的測試,并且此客戶端也會(huì)幫我們記錄 Cookie 的 動(dòng)態(tài)。

因?yàn)?SQLite3 是基于文件系統(tǒng)的,我們可以很容易的使用臨時(shí)文件模塊來 創(chuàng)建一個(gè)臨時(shí)的數(shù)據(jù)庫并初始化它,函數(shù) mkstemp() 實(shí)際上完成了兩件事情:它返回了一個(gè)底層的文件指針以及一個(gè)隨機(jī) 的文件名,后者我們用作數(shù)據(jù)庫的名字。我們只需要將 db_fd 變量 保存起來,就可以使用 os.close 方法來關(guān)閉這個(gè)文件。

如果我們運(yùn)行這套測試,我們應(yīng)該會(huì)得到如下的輸出:

$ python flaskr_tests.py

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

雖然現(xiàn)在還未進(jìn)行任何實(shí)際的測試,我們已經(jīng)可以知道我們的 flaskr 程序沒有語法錯(cuò)誤了。否則,在 import 的時(shí)候就會(huì)拋出一個(gè)致死的 錯(cuò)誤了。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號