post-integration-test
全部标签 我必须测试从request.args获取特定信息的特定View。我不能模拟这个,因为View中的很多东西都使用请求对象。我能想到的唯一替代方法是手动设置request.args。我可以用test_request_context()做到这一点,例如:withself.app.test_request_context()asreq:req.request.args={'code':'mockedaccesstoken'}MyView()现在此View中的请求将具有我设置的参数。但是我需要调用我的View,而不仅仅是初始化它,所以我使用这个:withself.app.test_client(
我正在学习如何制作一个api端点,我正在尝试编写一个测试来查看发布请求是否返回200状态代码。我计划编写更多测试以查看端点是否也返回所有预期结果。我不断收到403状态代码,我认为这是因为我需要在发布数据中包含一个csrftoken。在Django中测试POST端点的好方法是什么?我的测试:fromdjango.testimportTestCasefromappimportsettingsimportrequestsclassProjectEndpoint(TestCase):defpost_endpoint(self):data={'hello':'23'}post_project=r
nose发现过程会找到名称以test开头的所有模块,以及其中所有名称中包含test的函数,并尝试将它们作为单元测试运行。参见http://nose.readthedocs.org/en/latest/man.html我在文件accounts.py中有一个名为make_test_account的函数。我想在名为test_account的测试模块中测试该功能。所以在那个文件的开头我做了:fromfoo.accountsimportmake_test_account但现在我发现nose将函数make_test_account视为单元测试并尝试运行它(失败是因为它没有传递任何必需的参数)。如何
我正在使用Flask创建几个非常简单的服务。从外部测试(使用HTTPie)参数通过查询字符串获取服务。但是如果我使用类似的东西。data={'param1':'somevalue1','param2':'somevalue2'}response=self.client.get(url_for("api.my-service",**data))我可以看到正在创建正确的URI:http://localhost:5000/api1.0/my-service?param1=somevalue1¶m2=somevalue2当我断点进入服务时:request.args实际上是空的。self
启用覆盖后如何在PyCharm中调试py.test?使用--cov=project--cov-report=term-missing启用覆盖,删除它并命中断点。版本:pycharm5.0.3,pytest==2.8.5,pytest-cache==1.0,pytest-cov==2.2.0,pytest-pep8==1.0.6,pytest-xdist==1.13.1,python-coveralls==2.6.0.(感谢jon对进一步诊断问题的建议) 最佳答案 现在有一个flaginpy.test禁用从PyCharm运行测试时可以
我希望能够在客户端创建一个UUID并将其发送到DjangoRestFramework(DRF)并将其用于Primary模型的键。到目前为止,当我发送在我的源代码中标记为id的PrimaryKey时,DRF会忽略id并使用模型的默认参数以生成新的UUID。但是,当我从模型进行测试时,使用普通的DjangoORM创建对象并预先设置UUID,模型接受UUIDPrimaryKey并且不会尝试重新创建一个新的。这可能吗?我的堆栈是Django1.8Django休息框架3.1这是代码。序列化程序.py:classPersonCreateSerializer(serializers.ModelSer
这是unittestandmetaclass:automatictest_*methodgeneration的后续问题:对于这个(固定的)unittest.TestCase布局:#!/usr/bin/envpythonimportunittestclassTestMaker(type):def__new__(cls,name,bases,attrs):callables=dict([(meth_name,meth)for(meth_name,meth)inattrs.items()ifmeth_name.startswith('_test')])formeth_name,methinc
我正在尝试创建一个python程序,该程序使用我的ID和密码登录到我大学的网站。这是登录的正式页面:https://webapp.pucrs.br/consulta/您可能会注意到,这两个字段被命名为pr1和pr2。该页面使用POST发送数据。此外,还有一个在页面加载时下载的cookie,它是一个包含随机值的JSESSIONID,据我所知,您必须在POST方法的header上返回以验证登录。我写了下面的代码,但是GET方法的返回页面显示“session未初始化”,可能是因为cookie没有正确发送回来。fromurllib2importRequest,build_opener,HTTP
我正在使用Python请求包上传一个大文件,但我找不到任何方法来返回有关上传进度的数据。我见过许多用于下载文件的进度表,但这些不适用于文件上传。理想的解决方案是某种回调方法,例如:defprogress(percent):printpercentr=requests.post(URL,files={'f':hugeFileHandle},callback=progress)在此先感谢您的帮助:) 最佳答案 请求doesn'tsupportuploadstreaming例如:importosimportsysimportrequest
我有一些应该发送到服务器的表单(作为POST请求),将某个对象存储在数据库中并返回一个包含一些数据的新模板。在正常情况下,这会很好地工作,但这里的问题是从表单数据创建了一个相当复杂的JSON对象,而这正是应该存储在数据库中的内容。JSON已成功检索,但模板重定向不起作用:@app.route('/entry',methods=['GET','POST'])defentry():ifrequest.method=='GET':#Dosomestuffreturnrender_template('entry.html')elifrequest.method=='POST':#Storeth