nose - 格式化 -v 输出以使复制/粘贴在鼻子测试中可运行
问题描述
运行鼻子测试 -v 时,默认情况下会得到以下示例输出。
test_name dir1.dir2.filename_without_dot_py.TestCaseClassname
这包含运行测试的所有有用信息,但不是以有用的复制/粘贴格式单独运行测试。我试图创建的理想输出是
dir1/dir2/filename_withoutdot_py.py:TestCaseClassname.test_name
然后可以将其直接复制并粘贴为nosetest参数
如果可能,我会尽量避免编写自己的鼻子插件。我意识到有一些方法可以使用 sed/awk 来确定格式,但这意味着任何运行特定测试集的人都无法在不应用的情况下将它们的可运行输出交给我在他们的测试运行之上的 bash 输出操作。
这是我调整输出的丑陋解决方案。它可以工作,但是对于一个过程来说既丑陋又不方便。
nosetests -v | egrep "ERROR|FAIL"sed "s/test\.\([A-Z]\)/testXYZpy:\1/g" | sed "s#\.#/#g" | sed "s/(//g" | sed "s/)//g" | awk '{print $1" "$3"."$2" "$4}' | sed "s/XYZ/./g"
我注意到 site-packages/nose/plugins/xunit.py 提供了一种将输出转换为 xml 格式的方法,这是访问路径名、TestClass 和测试方法的示例的起点。
也就是说,编写插件似乎需要做很多工作,我认为有人可能已经这样做了,或者我可能缺少社区已知的东西。
解决方案
推荐阅读
- javascript - 浏览器数组大小限制为 100 个元素
- javascript - 如何替换字符串中的字符
- python - 使用前两列作为坐标将二维数组转换为另一个二维数组
- javascript - 我可以要求在网站上阅读短信吗
- java - 将多个字符串添加到列表
同时? - math - 将 Matrix4x4 转换为 position ,Scale, Euler 三个vector3
- python - 使用 OAuthHandler 类时出现 Tweepy 错误:AttributeError:身份验证实例没有属性“apply_auth”
- javascript - window.screenX / screenY 没有在 chrome 上更新
- ssh - 如何在虚拟机(VMWare)中使用 Putty 连接到 ubuntu
- javascript - HTML 视频静音停止我在移动设备上的背景音乐