gpt4 book ai didi

python - 找出两次 Nose 测试运行之间差异的好方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:23 26 4
gpt4 key购买 nike

我正在尝试为我对 matplotlib 的更改准备拉取请求:https://github.com/shmuller/matplotlib.git .与 upstream/master ( https://github.com/matplotlib/matplotlib.git ) 合并后,我想看看我是否破坏了什么,所以我在 upstream/master 上运行测试套件 (python tests.py -v -a)。我得到:

Ran 4688 tests in 555.109s
FAILED(KNOWNFAIL=330, SKIP=9, errors=197, failures=16)

现在在我的合并分支上:

Ran 4682 tests in 555.070s
FAILED(KNOWNFAIL=330, SKIP=9, errors=200, failures=18)

该死!很接近,但不一样!所以我确实打破了以前没有打破的东西。由于有数以千计的测试,以及大量的错误和失败,因此找出我破坏了什么似乎并不明显。

所以我的问题是:找出哪些测试失败但之前没有失败的好方法是什么?

tests.py 本质上是:

import nose
nose.main()

所以我希望 nose 中有一个功能可以帮助我弄清楚我坏了什么,但在帮助中找不到任何东西 (nosetests --help) .我显然可以记录和区分整个输出,但我希望有一个更优雅的解决方案。

最佳答案

将日志保存到两个文件中,AB。然后使用类似 Meld 的差异工具或 Emacs ' M-x ediff 查看差异。


如果您猜测哪些测试与您更改的代码相关,那么您可以运行

nosetests /path/to/test_file.py

修复与您更改的代码相关的错误,然后查看输出是否相同(通过运行 diff)。


如果你跑

nosetests --with-id

然后在后续运行中,添加 --failed 标志将导致 nosetests 仅重新运行失败的测试。这也可以帮助您将差异归零。

nosetests --with-id --failed  

关于python - 找出两次 Nose 测试运行之间差异的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com