2016-11-02 193 views
0

我想寫一個簡單的瓶應用程序的第一次測試。我只是想要一個測試,檢查應用程序是否正在運行,並通過查詢根應用程序url'/'來獲取200響應代碼。測試瓶與瓶測試

當我運行測試,我得到以下錯誤:

raise HTTPError(req.full_url, code, msg, hdrs, fp) 
urllib.error.HTTPError: HTTP Error 404: NOT FOUND 

這表明服務器正在運行,但該基地的網址無法找到?這是怎麼回事?

import json 
from urllib.request import urlopen 
from flask import Flask 
from flask_testing import LiveServerTestCase 

class MyTest(LiveServerTestCase): 

    def create_app(self): 
    app = Flask(__name__) 
    app.config['TESTING'] = True 
    return app 

    def test_flask_application_is_up_and_running(self): 
    response = urlopen(self.get_server_url()) 
    self.assertEqual(response.code, 200) 

回答

1

我推薦閱讀Flask測試文檔:您通常不會通過網絡和HTTP來測試您的應用程序。 Instead you create a test client from flask, which you then use to do requests directly to your app.

+0

謝謝,會給它一個去 - 我也試過在你引用的頁面上的那個例子,我使用Flask-Testing模塊的例子 - 請參閱Flame-Testing Extension http://damyanon.net/燒瓶系列測試/ –

+0

另外,你不應該使用nosetest。這是非常古老的,它的發展已經停止。嘗試pytest。 –

+0

謝謝 - 這個頁面引用了相同的例子,https://pythonhosted.org/Flask-Testing/唯一的區別是它爲應用程序設置了一個端口,試過這個也不行。將隨後發送給您的鏈接。 –