测试瓶架

2024-10-01 09:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小型的Flask服务器,它应该从一个文件中加载数据并在其中运行一个函数。这个函数将返回一个DataFrame,我返回它的json版本。令我惊讶的是,这一切都很好。但是,我该如何测试呢?我在下面做了一些尝试,但我对烧瓶(或其他部分)还不够了解:

#!/home/thomas/python
from flask import Flask
from flask.ext.restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class UniverseAPI(Resource):
    def get(self):
        import pandas as pd
        frame = pd.read_csv("//datasrv10//data$//AQ//test.csv", index_col=0, header=0)
        return frame.to_json()


api.add_resource(UniverseAPI, '/data/universe')

我很高兴在这里介绍我的一些尝试。。。我很感激任何暗示。我已经看过官方文件了。在

我应该说明我对测试的意思。我可以在我的linux服务器上运行它,并可以使用requests包提取所有必需的信息。但是,我想创建一个不需要在本地主机上启动服务器的unittest。我想我已经处理好了烧瓶测试客户。但是,现在的问题是requests-response对象和flask-response对象对待底层json字符串的方式截然不同。所以我想我的问题更多地与json字符串问题有关,而不是FLASK。谢谢你的反馈


Tags: 文件函数fromimport服务器apijsonapp
1条回答
网友
1楼 · 发布于 2024-10-01 09:33:57

好吧,编写restapi的基础基本上是一组设计原则。我对它的理解是基于米格尔·格林伯格的这篇文章http://blog.miguelgrinberg.com/post/designing-a-restful-api-with-python-and-flask。在

在这篇文章中,他谈到了REST API是怎样的:

  • “无状态”-使用来自一个请求的信息可以与服务进行所有交互。

  • 构建在使用诸如GET、PUTS和POST等HTTP请求从uri访问“资源”的基础上构建的。资源可以是商店中的订单、web应用程序中的任务或任何您喜欢的内容。

还有一堆关于服务器应该如何标准化它自己和客户机之间的所有形式的通信,指示它是否可以进行缓存,以及其他类似的东西。不过,从最初的设计角度来看,这是他所说的“重点”:

"The task of designing a web service or API that adheres to the REST guidelines then becomes > an exercise in identifying the resources that will be exposed and how they will be affected > by the different request methods."

如果您正在寻找一个有趣的restapi示例,它可能适合您的兴趣(我知道它是我的),reddit是开源的。这是一个可供参考的例子,看看他们是如何尝试和构造请求背后的交互的:http://www.reddit.com/dev/api

相关问题 更多 >