Python 单元测试有哪些可视化工具?

8 投票
3 回答
4278 浏览
提问于 2025-04-15 19:06

我正在写很多单元测试,并使用 nosetests 来运行这些测试。Nose 确实让运行测试变得简单方便,但输出的结果有时候会显得非常杂乱,尤其是当有警告和错误的时候,情况就更糟糕了。

我在想有没有什么可视化工具可以帮助整理这些输出,让反馈看起来更清晰。比如说,如果能有一个结果表格,显示测试名称、运行时间,并用颜色来标识成功或失败的状态,那将会是一个很好的视觉辅助工具。更棒的是,如果它能逐个分开错误信息和追踪记录,那在大量测试因为重大变更而失败时,就能大大减少杂乱的信息。

这听起来有点像愿望清单,但有没有什么东西能做到类似的功能呢?

3 个回答

0

你有没有看看这个Nose插件页面?我随便看了一下,发现至少有几个插件说它们可以提供一个图形用户界面。

2

你可以使用 Jenkins 这个集成服务器,我们用它来配合 py.test 和 phpunit(其实用其他测试框架也很简单),它能给我们提供一些很酷(而且有用!)的图表,内容包括:

  • 运行的测试数量
  • 通过和失败的测试数量
  • 失败测试的堆栈跟踪信息
  • 测试的执行时间
  • 测试的代码覆盖率
  • 你还可以把它和 git/svn/mercurial 等版本控制工具关联起来...

这里有一个关于如何配置 hudson 的例子(顺便说一下,jenkins 是 hudson 的一个分支,所以这些说明依然适用 :),可以帮助你实现你想要的功能。

还有一个更简单的选择是使用像 PyCharm 这样的集成开发环境,它可以和 nosetests 集成,告诉你哪些测试通过了、哪些失败了,以及它们的执行时间,不过,Jenkins 可以存储历史数据。

祝你好运 :)

4

这里有一个非常相似的问题,可以在这里找到

看起来没有一个统一的图形界面(GUI)专门用于nosetests(也就是只针对Python的界面)。根据你使用的开发环境(IDE),可能会有一些不同的nosetests图形界面插件。快速搜索一下,发现了这个链接,是针对Komodo的。

不过,Python还有很多其他基于图形界面的单元测试框架,你试过PyUnit吗?

撰写回答