【问题标题】:how to configure tox for getting the logs如何配置 tox 以获取日志
【发布时间】:2015-08-07 07:11:30
【问题描述】:

我正在尝试在我的项目中使用 tox 自动化测试。但是在使用 tox 时,我无法弄清楚 python 文件中的 test_methods 中的日志或打印在哪里。我还 grep 了整个 tox 目录的日志,但找不到它。

问题

1) 如何在 tox 中配置日志目录?

2) 日志的默认配置是什么?

任何指向文档和示例的指针?

我的 tox.ini 文件

 [tox]
 minversion = 1.6
 skipsdist = True

 [testenv]
 skip_install = True
 setenv =
     VIRTUAL_ENV={envdir}
 deps = -r{toxinidir}/test-requirements.txt

 passenv = LANG

 [testenv:test]
 commands = ./test.sh --slowest --testr-args='{posargs}'

【问题讨论】:

  • 我可以使用 .tox//bin/activate 来使用虚拟环境。然后执行 python -m testtools.run 以查看实际的日志和打印。

标签: python tox


【解决方案1】:

如果您使用 Linux,您可以简单地使用以下命令记录测试:

tox > toxlog.txt  

并且输出将在 toxlog.txt 文件中

【讨论】:

    【解决方案2】:
    1. envlogdir 正是为此而生:

    envlogdir=路径

    定义一个用于记录的目录,tox 将在其中放置工具调用的日志。 默认值:{envdir}/log

    1. 默认情况下,您的测试运行程序的日志位于./.tox/envname/log/envname-k.log 中,其中envname 是环境名称(例如py27),k 是实际运行您的测试运行程序的命令编号(python -m testtools.run)。 k==0envname 创建日志,k==1 是第一次安装依赖的日志,等等。

    【讨论】:

    • 但这对我不起作用。我看到创建的默认目录,其中有两个文件。但它们都不包含我的测试代码中的任何打印。它们仅包含安装日志。
    • @Knight71 如果 Tox 未能安装 virtualenv 或依赖项,它可能还没有运行到执行您的测试运行器。如果有东西报告错误,请查看您的日志。您也可以将您的毒物配置附加到问题中,这样更容易推理您的问题。
    【解决方案3】:

    这不是一个真正的答案,但我最终使用了断言.. 所以而不是

    print(type(x))
    

    我愿意

    assert type(x)==1
    

    这给了我

    E       AssertionError: assert <class 'tuple'> == 1
    

    ...所以它是一个元组..有点废话,但它有效

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多