草庐IT

hit-testing

全部标签

python - 使用 py.test 覆盖不包括导入

对于Jedi我们想生成我们的testcoverage.有一个relatedquestion在stackoverflow中,但它没有帮助。我们使用py.test作为测试运行器。但是,我们无法将导入和其他“导入”的内容添加到报告中。例如__init__.py总是被报告为未被发现:NameStmtsMissCover--------------------------------------------------jedi/__init__550%[..]很明显,此文件正在导入,因此应报告为已测试。我们开始这样的测试[*]:py.test--covjedi如您所见,我们正在使用pytest-

python - 确保 py.test 在 sys.path 中包含应用程序目录

我有一个项目目录结构如下(我认为这很标准):my_projectsetup.pymypkg__init__.pyfoo.pytestsfunctionaltest_f1.pyunittest_u1.py我正在使用py.test作为我的测试框架,我希望能够在my_project目录中运行py.testtests我的测试。这确实有效,直到我尝试在测试中使用(例如)importmypkg导入我的应用程序代码。那时,我收到错误“没有名为mypkg的模块”。经过一番调查,似乎py.test使用sys.path中的测试文件目录运行测试,但不是运行py.test的目录。为了解决这个问题,我在test

python - "py.test"与 "pytest"命令

py.test命令在我的情况下失败,而pytest运行完全正常。我使用pytest-flask插件:platformlinux--Python3.5.2,pytest-3.0.2,py-1.4.31,pluggy-0.3.1rootdir:/home/sebastian/develop/py/flask-rest-template,inifile:plugins:flask-0.10.0当我调用$py.test时出现以下错误:Traceback(mostrecentcalllast):File"/usr/local/lib/python3.5/dist-packages/_pytest

Python 库 'unittest' : Generate multiple tests programmatically

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Howdoyougeneratedynamic(parameterized)unittestsinPython?我有一个要测试的函数,under_test,以及一组预期的输入/输出对:[(2,332),(234,99213),(9,3),#...]我希望这些输入/输出对中的每一对都在其自己的test_*方法中进行测试。这可能吗?这是我想要的,但强制每个输入/输出对进入一个测试:classTestPreReqs(unittest.TestCase):defsetUp(self):self.expected_pa

python - 运行 django 教程测试失败 - 没有名为 polls.tests 的模块

我正在使用django1.6教程,但我无法运行测试。我的项目(名称mydjango)和应用程序结构(名称是polls)在virtualenv中如下所示。(.nja文件只是由ninja-ide我正在使用的ide创建的).├──__init__.py├──manage.py├──mydjango│  ├──__init__.py│  ├──__init__.pyc│  ├──mydjango.nja│  ├──settings.py│  ├──settings.pyc│  ├──templates│  │  └──admin│  │  └──base_site.html│  ├──urls

python - 如何抑制 py.test 内部弃用警告

有没有办法抑制pytest的内部弃用警告?上下文:我正在评估将测试套件从nose移植到pytest的难度。该套件相当大,并且大量使用基于nose风格的yield的测试生成器。我想首先确保现有测试通过pytest,然后可能将测试生成器更改为parameterized。仅仅用pytest3.0.4运行$pytestpath-to-test-folder完全被页面和页面所支配WC1~repos/numpy/numpy/lib/tests/test_twodim_base.pyyieldtestsaredeprecated,andscheduledtoberemovedinpytest4.0有

Python单元测试: how to run only part of a test file?

我有一个测试文件,其中包含需要花费大量时间的测试(它们将计算发送到集群并等待结果)。所有这些都在特定的TestCase类中。由于它们需要时间而且不太可能中断,我希望能够选择是否运行此测试子集(最好的方法是使用命令行参数,即“./tests.py--offline"或类似的东西),所以我可以经常快速地运行大部分测试,并在我有时间的时候偶尔运行整个测试集。现在,我只是使用unittest.main()来开始测试。 最佳答案 要仅运行单个特定测试,您可以使用:python-munittesttest_module.TestClass.te

python - py.test 运行成功后,模块 'threading' 中的 KeyError

我正在使用py.test运行一组测试。他们通过。伊皮!但我收到这条消息:ExceptionKeyError:KeyError(4427427920,)inignored我应该如何去追踪它的来源?(我没有直接使用线程,而是使用gevent。) 最佳答案 我观察到了一个类似的问题,并决定看看到底发生了什么——让我描述一下我的发现。我希望有人会觉得它有用。短篇故事它确实与猴子修补threading有关。模块。事实上,我可以通过在猴子修补线程之前导入线程模块来轻松触发异常。以下两行就足够了:importthreadingimportgeve

python - 如何从 "python setup.py test"运行 unittest discover ?

我试图弄清楚如何让pythonsetup.pytest运行相当于python-munittestdiscover。我不想使用run_tests.py脚本,也不想使用任何外部测试工具(如nose或py.test)。如果该解决方案仅适用于python2.7就可以了。在setup.py中,我想我需要在配置中的test_suite和/或test_loader字段中添加一些内容,但我可以'似乎找不到正确的组合:config={'name':name,'version':version,'url':url,'test_suite':'???','test_loader':'???',}这是否可能只

python - 使用 py.test 打印测试执行时间并锁定慢速测试

我正在使用py.test在CI服务器上运行单元测试。测试使用通过网络获取的外部资源。有时测试运行器花费的时间太长,导致测试运行器被中止。我不能在本地重复这些问题。有没有办法让py.test打印出(慢)测试的执行时间,从而更容易确定有问题的测试? 最佳答案 我不确定这是否能解决您的问题,但您可以通过--durations=N在测试套件完成后打印最慢的N个测试。使用--durations=0打印全部。 关于python-使用py.test打印测试执行时间并锁定慢速测试,我们在StackOve