2013-04-05 126 views
3

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

我刚认识的测试,并申请延期,你想制定一个shell应用程序,然后测试您的扩展测试对我来说很有意义,但如果我想测试实际应用中,我的部分构建。

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

回答

3

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

Flask's documentation提供了有关如何initlialize您的应用程序,并请求给它的信息:

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工具,将帮助你做到这一点

我建议阅读烧瓶测试开始的文档,它们提供了一个很好的概述。

此外,这将是非常有益的,为您提供细节。

什么我试过到目前为止(导入应用到测试,并开始构建 测试吧)一直都令人不愉快的和不成功的

这不是建设性的。你在执行测试时是否出错?如果是的话,你可以发布它们。它如何不成功?你不知道要测试哪个部分?您在执行测试时遇到问题吗?加载数据中?测试回应?错误?

+1

是的,我的问题含糊不清,而且我知道这对某些人可能有问题。但是,有时你可以通过明智地降低问题内容来获得很好的回应。我已经阅读了烧瓶文档,并且正在寻求更多信息,但是我的问题仅仅是作为我试图围绕我需要做的事情围绕我的大脑的一部分而存在 - 基本上是“拿走我的应用程序,并用测试戳它,而不用构建完全独立的测试应用程序“ – blueblank 2013-04-05 20:33:14

+2

@blueblank - dm03514不建议完全构建另一个应用程序用于测试 - 他建议*将您现有的应用程序导入到您的测试中,并使用应用程序的内置'test_client'来测试它。这个例子中缺少的是'import flaskr'(在这个例子中是被测试的应用程序)。 – 2013-04-06 13:20:44

相关问题