0

那么动机是python测试运行器具有类似于nose的功能的想法

不同之处在于它能够运行 C 单元测试。我还没有找到类似的东西。以下是测试运行器的一些要求。

  1. 测试运行器负责运行一系列测试并为所有测试收集结果。
  2. testrunner应该支持多种测试方法(包括self-describing、reftest和script)
  3. 必须能够根据清单文件自动加载测试。
  4. 测试运行者必须能够巧妙地排序测试用例
  5. 测试运行器必须允许测试以随机顺序和重复运行
  6. 测试运行器必须允许完整和部分执行测试
  7. 必须可以创建在各种平台上工作的测试运行器
  8. 测试运行器必须提供某种方式来输出收集的结果
  9. 测试运行器必须允许自动和手动收集上下文信息
  10. 测试运行者必须在收集的结果中包含上下文信息
  11. 测试运行者必须支持正负测试
  12. 测试运行者必须支持基于时间的信息的测试
  13. 测试运行者必须允许测试自动报告其结果
  14. 测试运行者必须允许人工报告手动测试结果
  15. 测试运行程序必须允许人类运行 reftests
  16. 测试运行者应该允许人类评论测试结果
  17. 测试运行器必须允许在较小的测试上创建测试
  18. 测试运行程序必须可供外部实体和个人使用
4

2 回答 2

1

与其自己做所有这些(一项艰巨的工作),不如使用py.test? 它是一个强大的测试运行器,等等。它开箱即用满足您的大部分要求(嗯,那些很清楚 - 有些对我来说没有多大意义),并且可以定制,足以添加您需要的任何东西。

然而,杀手级功能是他们积极开发并记录了一种方法来做到这一点:使用非 python 测试。那里的例子很少,但API似乎足够强大。事实上,您不会是第一个使用此功能的人(为您提供另一个信息来源)——有人已经用它构建了一个JavaScript 测试框架

于 2012-04-23T20:37:52.603 回答
0

比已经提出的 py.test 更好的解决方案是 PySys System Test Framework,它解决了上述几乎所有问题,并且您可以非常轻松地扩展以实现尚未涵盖的少数问题

您将不得不编写一个通用的“执行”方法,将 C 测试作为外部进程启动,然后对一个字符串进行 grep,该字符串通常表明它正在通过。它不超过 15 行代码。

该框架将为您完成剩下的工作

于 2015-09-22T13:43:46.593 回答