3

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

我只是了解测试,以及对您构建外壳应用程序然后测试您的扩展的扩展的测试对我来说是有意义的,但如果我想测试我正在构建的实际应用程序的一部分,则不是。

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

4

1 回答 1

3

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

Flask 的文档提供了有关如何初始化您的应用程序并向其发出请求的信息:

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 工具可以帮助你做到这些

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

此外,提供详细信息对您非常有帮助。

到目前为止我所尝试的(将应用程序导入测试并开始为其构建测试)既不愉快又不成功

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

于 2013-04-05T15:59:20.187 回答