Python单元测试细节

时间:2011-12-14 16:10:33

标签: python testing

我有一个相当复杂的系统,我想用python测试。我的测试代码将使用我已编写的Python模块与系统交互。然而,关于测试框架,有一些我无法弄清楚的事情。我还没有选择一个,但显然我觉得我被unittest指示。

  1. 将参数传递给测试。我需要将一个特定的ID传递给我的测试代码的许多不同部分,具体取决于我正在测试的系统的哪个部分。 unittest是否提供此功能?换句话说,现在我只有一个测试脚本,我这样运行:./testscript.py 123 win 32如何在测试框架中类似地传递相同的参数?

  2. unittest提供setUp()tearDown()方法,但在每个测试方法之前/之后调用它们。如何在TestCase的整个测试之前/之后调用函数?

  3. 也许unittest不是我真正想要使用的?

2 个答案:

答案 0 :(得分:1)

至于#2,setUpClass() and tearDownClass()似乎就是为此而设计的。该文档甚至显示了将其用于createExpensiveConnectionObject()的示例。

答案 1 :(得分:1)

我使用tox在多个配置中运行我的测试。如果没有可选模块,我的一些单元测试会跳过某些测试,这意味着我需要检查以确保模块检测代码有效。 Tox没有简单的方法来指定任何命令行参数,因此最简单的解决方案是通过环境变量。

F.C.指向python, unittest: is there a way to pass command line options to the app的指针适用于您决定额外参数的方法。