2017-03-26 60 views
0

我目前正在建設使用燒瓶內的URL縮短。我覺得爲應用程序編寫代碼相當舒服,但是,我在編寫測試的過程中遇到了一些問題。如何對待數據庫測試

的MVP的應用程序做2個功能:

(1)給定一個長的URL在後,返回短網址

(2)由於在獲取短網址,重定向到目的地

我一般的代碼結構如下

url_shortener 
    url_shortener 
     controller.py 
     setup.sh # sets up virtual env, installs requirements, creates database if it doesn't exist, spins up application 
     lib/ # contains functionality to shorten urls 
     tests/ # Unit, integration, etc tests 

從我讀過,我相信我會想建立一個數據庫的新實例爲每個單元測試我有。例如,假設我想考第一長的URL - >短網址轉換產生http://myendpointurl/0。如果我使用了應用程序的「真實」數據庫(如果已經有任何東西的話),這是行不通的。從概念上講,我明白我需要做什麼,但是,我對如何將其放入代碼感到困惑。

我已經試過尋找幾個例子,但我很難找到那些沒有很多新的和陌生的技術(例如:https://github.com/cgil/shortener - 我還沒有與fab文件,alembic,鼻子測試(我使用py.test)等)或測試(例如:https://github.com/richyvk/flask-url-shortener)。

  • 有沒有人知道是否有現有的文檔,在初學者水平上引導你通過這個?我對大多數非web應用程序的Python都很滿意,之前已經構建了1個flask端點,並且通常使用py.test。
  • 如果不是這樣,如果有人可以幫助闡述如何處理這個,那將是美好的。
+0

你應該看看內存數據庫;這些通常用於測試,因爲它們更快,可以輕鬆拆卸和重新構建,而實際的持久性對於測試來說並不是什麼大不了的事情。 – jonrsharpe

回答