gpt4 book ai didi

python-2.7 - 如何为 Falcon API python 执行单元测试

转载 作者:行者123 更新时间:2023-12-03 09:48:18 27 4
gpt4 key购买 nike

我使用 Falcon framework 开发了一个应用程序在 Python 语言中。我开发了几个 API,现在我想执行单元测试,所以我使用了 unittest 包,但是我无法测试我的 API,因为它没有通过 unittest。
对于测试,我引用这个 doc
我试图模拟 get 方法,但它问我参数。我也无法执行任何放置或后测试。
这是我执行单元测试的代码

主文件

from app.api.v1 import scheduler
self.add_route('/v1/schedulers', scheduler.SchedulerCollection())

调度程序.py

类 SchedulerCollection(BaseResource):
def __init__(self):
db = redis_db.RedisStorageEngine()
self.r = db.connection()

"""
Handle for endpoint: /v1/schedulers
"""

# @falcon.before(validate_scheduler_create)
def on_post(self, req, res):
    #some code here

#@falcon.before(auth_required)
def on_get(self, req, res):

#some code here

scheduler_test.py
import sys, os
import unittest
import json
from falcon import testing
from app.api.v1 import scheduler

class SchedulerTestCase(testing.TestCase):
def setUp(self):
super(SchedulerTestCase, self).setUp()
self.app = scheduler.SchedulerCollection.on_get

class TestMyApp(SchedulerTestCase):
def test_get_schedulers(self):
doc = {u'message': u'Hello world!'}
result = self.simulate_get('/v1/schedulers')
result = self.simulate_get('/v1/schedulers')
self.assertEqual(result.json, doc)




if __name__ == '__main__':
unittest.main()

运行测试后,我收到此错误
Traceback (most recent call last):
File "tests/scheduler_test.py", line 17, in setUp
self.app = scheduler.SchedulerCollection().on_get(self.api_class)
TypeError: on_get() takes exactly 3 arguments (2 given)

我不知道我哪里做错了

任何帮助将不胜感激

谢谢

最佳答案

首先,self.app应该使用您的猎鹰应用程序进行初始化,而不是您正在测试的方法。其次,simulate_getself.app 的一个属性(不是自己)。

查看更多信息 this answer .

关于python-2.7 - 如何为 Falcon API python 执行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44435946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com