2016-11-02 156 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/唯一的区别是它为应用程序设置了一个端口,试过这个也不行。将随后发送给您的链接。 –