草庐IT

Test_stub

全部标签

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 - 如何抑制 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 - 自定义 PyCharm 文档字符串 stub (即用于 google 文档字符串或 numpydoc 格式)

PyCharm2.7(或PyCharm3)是否支持自定义docstring和docteststub?如果是这样,如何编写这种特定类型的自定义扩展?我当前的项目已标准化使用GooglePython样式指南(http://google-styleguide.googlecode.com/svn/trunk/pyguide.html)。我喜欢PyCharm的docstring支持,但现在只有两种支持的格式是epytext和reStructureText。我想要并且愿意自己编写一个PyCharm插件,它可以创建以Google或Numpydoc样式(https://pypi.python.org

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

java - TestNG:一个@Test 有多个@DataProvider

我正在为Eclipse使用TestNG。是否可以逐步将两个数据提供者提供给相同的测试功能?我可以将两个提供商合二为一,但这不是我想要的。我需要(不像本例那样)独立生成数据。@DataProvider(name="dataSet1")publicObject[][]createDataX(){returnnewObject[][]{{1,1},{2,2}};}@DataProvider(name="dataSet2")publicObject[][]createDataY(){returnnewObject[][]{{0,0},{3,3}};}我想让两个提供者都接受相同的测试。这可能吗?

java - JUNIT : run setup only once for a large number of test classes

我有一个类,我用它作为单元测试的基础。在这个类中,我为我的测试初始化​​整个环境,设置数据库映射,在多个表中输入许多数据库记录,等等。该类有一个带有@BeforeClass注释的方法来进行初始化。接下来,我使用具有@Test方法的特定类扩展该类。我的问题是,由于所有这些测试类的前级完全相同,我如何确保它们对所有测试只运行一次。一个简单的解决方案是我可以将所有测试放在一个类中。但是,测试的数量很大,而且它们是根据功能头进行分类的。因此它们位于不同的类中。但是,由于它们需要完全相同的设置,因此它们继承了@BeforeClass。因此,每个测试类至少完成一次整个设置,总共花费的时间比我希望的