首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对Falcon API python执行单元测试

如何对Falcon API python执行单元测试
EN

Stack Overflow用户
提问于 2017-06-08 20:34:49
回答 0查看 2.6K关注 0票数 3

我用Python语言开发了一个使用Falcon framework的应用程序。我开发了一些API,现在我想执行单元测试,所以我使用了unittest包,但我无法测试我的API,因为它无法通过单元测试。为了测试,我引用了这个doc,我试图模拟get方法,但它要求我使用参数。此外,我无法执行任何put或post测试。下面是我执行单元测试的代码

main.py

代码语言:javascript
运行
复制
from app.api.v1 import scheduler
self.add_route('/v1/schedulers', scheduler.SchedulerCollection())

scheduler.py

SchedulerCollection类(BaseResource):

代码语言:javascript
运行
复制
def __init__(self):
    db = redis_db.RedisStorageEngine()
    self.r = db.connection()

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

@falcon.before(validate_scheduler_create)定义on_post(self,req,res):

代码语言:javascript
运行
复制
    #some code here

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

    #some code here

scheduler_test.py

代码语言:javascript
运行
复制
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()

在运行测试之后,我得到了这个错误

代码语言:javascript
运行
复制
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)

我不知道我哪里做错了

如有任何帮助,将不胜感激

谢谢

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44435946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档