【通过游戏闯关来测试自己的python掌握能力】教程文章相关的互联网学习教程文章

python-单元测试需要会话的webapp2 RequestHandler【代码】

在某些RequestHandler视图上,我从会话中获取信息以确保用户当前已登录(自定义身份验证) 我在为单元测试模拟时遇到了麻烦. 我的RequestHandler类中的helper方法:@webapp2.cached_property def get_account(self):user_session = self.session.get('user-id')if user_session:user_account = helpers.get_username_data_from_session(self.session.get('user-id'))return user_account在一个实现的(我要测试的)视图中,get方法看起来...

python-django测试文件下载-“ ValueError:对已关闭文件的I / O操作”【代码】

我有一个视图视图代码,该视图可以下载文件,并且在浏览器中也可以正常工作.现在,我尝试使用内部django Client.get为此编写一个测试:response = self.client.get("/compile-book/", {'id': book.id})self.assertEqual(response.status_code, 200)self.assertEquals(response.get('Content-Disposition'), "attachment; filename=book.zip")到现在为止还挺好.现在,我想测试下载的文件是否是我希望下载的文件.所以我首先说:f = cStri...

python软件包-是否包含测试套件【代码】

主要问题是:我是否应在软件包中包含用于我的代码的测试套件?我并不是说既不是测试框架也不是测试工具(例如鼻子测试),而是我每次为了检查代码的正确性而运行的基本测试. 我一直在关注setuptools tutorial,我有两个模块:nac(代码本身)和测试. setup.py如下所示:setup(...packages = ['nac', 'tests'],... )这就是在/usr/local/lib/python2.7/dist-packages/中安装它的方式:dist-packages/nac/tests/我很确定我现在所拥有的不是最...

使用Mock在Python单元测试中的函数内部模拟函数【代码】

我正在使用Mock进行Python单元测试.我正在测试一个函数foo,它包含一个不会返回任何内容的函数栏,但是会填充变量x(类型:io.StringIO),这是副作用.我已经使用MagicMock模拟了吧,但是我不知道如何从测试脚本分配给x. 我有以下情况:def foo():x = io.StringIO()bar(x) # x is filled with some string by bar methodhere some operation on x为了为foo编写单元测试用例,我用MagicMock模拟了bar(返回值= None),但是如...

python-如何在Mercurial API中测试变更集的日期【代码】

我只想在一定范围内的变更集上使用Mercurial Python API,从读取docs开始,我还无法弄清楚如何做到这一点. 我的代码如下所示:from mercurial import ui, hg import datetimerepo = hg.repository(ui.ui(), 'path_to_repo' )start_date = datetime.datetime( 1997, 01, 01 ) end_date = datetime.datetime( 2000, 12, 31 )# Print every changesetid in required range for changesetid in repo:#print repo[changesetid]changes...

python-如何在Django中为文件上传类编写单元测试?【代码】

我正在尝试为具有POST方法的类编写单元测试,该方法用于将文档上传到基于Web的django应用程序.这是我要为其编写单元测试的视图类:class SOP(APIView): authentication_classes = (authentication.TokenAuthentication,) def post(self,request):returnDict={}returnDict['msg']='File not uploaded'#if form.is_valid(): newdoc = Document(sopFile = request.FILES['sopFile'])newdoc.save()returnDict['msg']='File uploa...

python-在单元测试代码中调用Django命令【代码】

我正在尝试使用call_command从URL下载数据,并且想知道如何从代码中调用它. 我在代码中声明了以下选项列表:option_list = BaseCommand.option_list + (make_option('--url', default=None, dest='url', help=_(u'Specifies the full url of the json data to download.')),make_option('--username', default=None, dest='username', help=_(u'Login of the person doing the download.')),make_option('--password', default=None...

python中“ FileNotFoundError”的单元测试【代码】

我有以下代码,并希望在给定的函数引发“ FileNotFoundError”时放任自己def get_token(): try:auth = get_auth() # This function returns auth ,if file exists else throws "FileNotFoundError except FileNotFoundError: auth= create_auth() return auth我在弄清楚如何测试引发“ FileNotFoundError”并且不调用create_auth的条件时遇到了麻烦. 任何提示将不胜感激 谢谢解决方法:在单元测试中,您需要模拟get_auth函数,并使用.s...

Python单元测试:测试两个角度是否几乎相等【代码】

我想测试一个输出以度为单位的航向的函数,该航向是区间[0,360)中的数字.由于结果是浮点数,因此无法将实际结果与unittest.assertEqual()的预期结果进行比较. unittest.assertAlmostEqual()更好,因为它提供了公差.此方法适用于不接近0度的航向. 问题:测试预期值为0度的航向的正确方法是什么? assertAlmostEquals()仅包含略大于0度的角度,但会丢失略小于0度的角度,即360度…解决方法:您可以使用单位圆上两个点之间的平方欧几里得距离...

运行python单元测试时切换分支

与特定的代码问题相比,这更多是关于测试安全性的一般问题.可以说我在git存储库中有一个功能分支,在合并回developer或master之前,我总是运行一组单元测试.但是这些单元测试通常需要一段时间(大约一个小时).因此,我通常会启动测试,然后更改存储库中的分支,以便可以进行其他事情的编码…我认为这是安全的,因为已经创建了.pyc文件?解决方法:我建议您将测试执行卸载到适当的连续集成系统(例如Jenkins或Travis)上.在测试运行的中间切换整...

使用Python中的绿色测试运行器跳过测试【代码】

目前,我正在使用py.test来运行测试并定义跳过的测试,如下所示:@pytest.mark.skipif(True, reason="blockchain.info support currently disabled") class BlockChainBTCTestCase(CoinTestCase, unittest.TestCase): ...@pytest.mark.skipif(is_slow_test_hostile(), reason="Running send + receive loop may take > 20 minutes") def test_send_receive_external(self):""" Test sending and receiving external transaction wi...

Python:Unitest自动化测试基于HTMLTestRunner报告案例【代码】【图】

报告效果如下: HTMLTestRunner脚本代码如下: #coding=utf-8# URL: http://tungwaiyip.info/software/HTMLTestRunner.html__author__ = "Wai Yip Tung, Findyou" __version__ = "0.8.2.1"""" Version 0.8.2.1 -Findyou * 支持中文,汉化 * 调整样式,美化(需要连入网络,使用的百度的Bootstrap.js) * 增加 通过分类显示、测试人员、通过率的展示 * 优化“详细”与“收起”状态的变换 * 增加返回顶部的锚点 """import datet...

python-Pytest不使用类中的测试方法【代码】

始终与python unittest2一起使用,并且刚开始迁移到pytest.自然地,我试图画出相似之处,但我无法弄清的一件事是: 问题为什么Pytest不使用在“测试”类中定义的测试方法. 什么对我有用# login_test.py import pytest from frontend.app.login.login import LoginPage@pytest.fixture def setup():login = LoginPage()return logindef test_successful_login(setup):login = setuplogin.login("incorrect username","incorrect passwo...

python-测试终端是否支持伪图形【代码】

我正在编写一个Python程序,该程序将一些数据制成表格,输出到stdout,如果终端支持,我想使用Unicode box-drawing characters. 现在,有三种方法可以实现: >盲目输出Unicode,并希望用户不要被一堆垃圾掩盖,或者>始终使用ASCII,或者>做一些检查,并在必要时回退到ASCII. 我可以做什么检查?我能想到的最好的方法是检查终端是否具有UTF-8语言环境.但是,这既不是必需条件也不是充分条件,因为用户可能没有支持箱形绘图字符的任何字体.否则他...

我可以在Python单元测试中对测试方法和/或测试类进行分组吗【代码】

来自PHPUnit,使用@group annotation对测试类或函数进行分组很容易.这样,我可以运行或排除非常特殊的测试子集,可能跨多个文件. 我想知道python unittest是否有类似的东西.如果是这种情况,我该如何使用它并从CLI运行它? 谢谢.解决方法:通过将它们全部放在一个类中,可以运行一组测试函数.假设您的单元测试中有4个测试功能,而您想要两组2个功能.您需要使用两个类创建一个tests.py脚本,每个类具有2个函数:from unittest import TestCa...