草庐IT

test_tasks

全部标签

python - 在子文件夹中使用 pytest where test

我正在使用pythonpytest来运行我的单元测试。我的项目文件夹是:Main-包含数据文件:A.txtMain\Tests-我运行pytest的文件夹Main\Tests\A_test-包含测试文件的文件夹A_test文件夹中的测试使用文件A.txt(位于Main文件夹中)。我的问题是,当我运行py.test时,测试失败,因为它找不到A.txt。我发现是因为pytest在运行测试时使用了路径Main\Test,而不是将路径改为Main\Tests\A_test(我是在测试文件中打开A.txt时使用相对路径)我的问题:有没有办法让pytest将目录更改为它为每个测试执行的测试文件夹?

python celery : Retrieve tasks arguments if there's an exception

我开始使用Celery和Python,我有一个问题可能很简单,但我似乎找不到任何合适的答案......如果我有一堆任务,其中一个抛出异常,有没有办法检索传递给所述任务的参数?例如,如果我想获取一些主机名解析到的IP,然后创建一个任务...@tasks_app.taskdefresolve_hostname(hostname):return(hostname,{hst.addressforhstindns.resolver.query(hostname)})...这可能会引发异常,有没有办法在异常发生时在调用之外获取该hostname参数的值?假设我将任务分组如下:ip_subtasks

python - 使用 if __name__ == '__main__' : for tests

当您编写一些自给自足的脚本时,使用if__name__=='__main__'作为编写测试的地方是不是一个坏主意? 最佳答案 这实际上取决于您的代码和脚本的目的。对于大型和复杂的项目,您肯定必须将所有测试放在一个单独的地方。但是在处理一些小的事情时,将测试与代码一起进行可能是一个很好的解决方案-这是doctest的主要思想(这是一个很棒的Python模块,允许您在文档字符串中编写测试)。在这种情况下,您的if__name__=='__main__'将如下所示:if__name__=="__main__":importdoctestd

python - python 的新 'pip wheel' 是否支持为 tests_requires 中列出的依赖项构建轮子?

我使用setuptools'tests_require'来指定测试我的包所需的依赖项。tests_require-http://pythonhosted.org/distribute/setuptools.html#new-and-changed-setup-keywords我已经开始使用wheelpackaginghttp://wheel.readthedocs.org/en/latest/并为我当前的包及其所有依赖项构建一个wheels目录。pipwheel--wheel-dir=/tmp/wheelhouse.不过,我还想为任何包tests_require中列出的所有包构建轮子。

python - 如何在没有详细测试进度的情况下显示详细的 py.test 差异?

py.test的--verbose选项需要显示断言失败的完整差异,但这也会在执行期间显示每个测试的全名(很吵)。我希望在断言失败时显示完整的差异,但我只希望在测试运行时显示单个.。有办法做到这一点吗? 最佳答案 不幸的是,似乎没有配置或命令行标志,因为它是硬编码的deepinsidepytest:当你定义--verbose时,你会得到整个包。但是,我设法想出了这个hackishhack。将以下函数放入您的conftest.py:defpytest_configure(config):terminal=config.pluginman

python - 如何让 `python setup.py test -q` 更安静?

我刚刚开始一个Pyramid项目,遵循Pyramiddocs的建议.测试命令如下所示:../bin/pythonsetup.pytest-q..这给了我这个结果:$../bin/pythonsetup.pytest-qrunningtestrunningegg_infowritingrequirementstoclimas_ng.egg-info/requires.txtwritingclimas_ng.egg-info/PKG-INFOwritingtop-levelnamestoclimas_ng.egg-info/top_level.txtwritingdependency_li

python - 您如何使用 tornado.testing 创建 WebSocket 单元测试?

我正在开发一个使用tornado的websocket功能的项目。我看到了大量关于使用异步代码的文档,但没有关于如何使用它来创建与其WebSocket实现一起工作的单元测试的内容。tornado.testing是否提供执行此操作的功能?如果是这样,有人可以提供一个简短的例子来说明如何实现它吗?提前致谢。 最佳答案 正如@Vladimir所说,您仍然可以使用AsyncHTTPTestCase来创建/管理测试网络服务器实例,但是您仍然可以以几乎相同的方式测试WebSockets正常的HTTP请求-只是没有语法糖来帮助您。Tornado也有

python - 在 Celery 任务中获取 task_id

这可能是一个愚蠢的问题,但它让我从Ruby背景中难过。当我尝试打印时,我有一个看起来像这样的对象。printcelery.AsyncResult.task_id>>>我原以为这里会打印task_id属性的实际值。如何获得实际值?更新1@celery.taskdefscan(host):printcelery.AsyncResult.task_idcmd='ps-ef'cm=shlex.split(cmd)scan=subprocess.check_output(cm)returnscan最好的问候。 最佳答案 短篇小说,在函数sca

python - 将 py.test 与已编译的库代码一起使用

我有一个具有以下存储库结构的python库:repobase|-mylibrary||-__init__.py|-tests|-test_mylibrary.py到目前为止,运行测试可以简单地通过调用repobase目录中的py.test来完成。test_mylibrary.py中的importmylibrary然后使用repobase/mylibrary中的本地代码。现在,我扩展了库以使用编译代码。因此,repobase/mylibrary中的源代码本身并不能正常工作。我必须执行setup.pybuild。这将创建repobase/build/lib.linux-x86_64-2.7

python - 如何在sklearn中获得一个非混洗的train_test_split

如果我想要随机训练/测试拆分,我使用sklearn辅助函数:In[1]:fromsklearn.model_selectionimporttrain_test_split...:train_test_split([1,2,3,4,5,6])...:Out[1]:[[1,6,4,2],[5,3]]获得非混洗训练/测试拆分的最简洁方法是什么,即[[1,2,3,4],[5,6]]编辑目前我正在使用train,test=data[:int(len(data)*0.75)],data[int(len(data)*0.75):]但希望有更好的东西。我在sklearn上开了一个问题https://g