格式化-v输出以使复制/粘贴在鼻子测试中可运行

时间:2019-08-26 18:38:26

标签: nose

在运行-v鼻子测试时,默认情况下将获得以下示例输出。

test_name dir1.dir2.filename_without_dot_py.TestCaseClassname

这包含用于运行测试的所有有用信息,但不是用于单独运行测试的有用的复制/粘贴格式。我尝试创建的理想输出将是

dir1/dir2/filename_withoutdot_py.py:TestCaseClassname.test_name

然后可以将其复制并粘贴为鼻子测试参数

如果可能的话,我试图避免编写自己的鼻子插件。我意识到可以使用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和测试方法的示例的起点。

也就是说,编写插件似乎是很多工作,我认为某人可能已经做过这件事,或者也许我错过了社区已知的事情。

0 个答案:

没有答案