实际测试我构建的应用程序(Flask,Python)

时间:2013-04-05 15:36:29

标签: python unit-testing testing flask

如果我构建了一个应用程序,那么测试实际应用程序的协议是什么?

我只是在理解测试,并且测试一个扩展,你构建一个shell应用程序,然后测试你的扩展对我有意义,但是如果我想测试我正在构建的实际应用程序的部分

我想知道是否有人对如何打包和测试他们的烧瓶应用程序有任何指导,指导或想法。到目前为止我尝试过(将应用程序导入测试并开始为其构建测试)既令人不愉快又不成功。我知道我需要X,Y,Z的应用程序,我可以通过构建确保X,Y,Z发生的测试来节省大量的未来时间。然而,建立一个单独的测试应用程序会花费很多时间并且看起来没有效果。

1 个答案:

答案 0 :(得分:3)

有很多方法可以测试您的应用程序。

Flask's documentation提供有关如何初始化您的应用并向其发出请求的信息:

import flaskr

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 rv.data

这允许您使用test_client请求任何路线。您可以请求应用程序中的每个路由,并断言它正在返回您期望的数据。

您也可以编写测试来测试特定的功能,只需导入该功能并进行相应的测试即可。

您根本不必编写“单独的测试应用程序”。但是,你可能不得不做一些事情,比如加载测试数据,模拟对象/类,这些都不是很简单,但是有很多博客文章/ python工具可以帮助你做到这些

我建议您先阅读烧瓶测试文档,它们提供了很好的概述。

此外,提供细节对您非常有帮助。

  

到目前为止我尝试了什么(将应用程序导入测试并开始   为它构建测试)既令人不愉快又不成功

这不具有建设性。执行测试时是否出现错误?如果是这样,你可以发布它们。怎么不成功?你不知道要测试哪些部件?你在执行测试时遇到问题吗?加载数据中?测试回复?错误?