python的unittest模块的参数化测试

parameterizedtestcase的Python项目详细描述


https://secure.travis-ci.org/msabramo/python_unittest_parameterized_test_case.png?branch=master

python的unittest模块的参数化测试

它的灵感来自于 py.test。我一直在用py.test测试 激发这一点的特殊测试,但我的同事 对py.test的使用有所保留,我真正需要的是 参数化测试,所以我用了一点元类 哈克瑞。

示例用法

fromparameterizedtestcaseimportParameterizedTestCaseclassMyTests(ParameterizedTestCase):@ParameterizedTestCase.parameterize(("input","expected_output"),[("2+4",6),("3+5",8),("6*9",54),])deftest_eval(self,input,expected_output):self.assertEqual(eval(input),expected_output)

运行此命令的结果:

~/dev/git-repos/python_unittest_parameterized_test_case$ python -m unittest -v tests
test_eval_input_2+4_expected_output_6 (tests.MyTests) ... ok
test_eval_input_3+5_expected_output_8 (tests.MyTests) ... ok
test_eval_input_6*9_expected_output_54 (tests.MyTests) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.001s

OK

支持的Python版本

  • Python2.5
  • Python2.6
  • python 2.7版
  • Python3.1
  • python 3.2
  • Python3.3
  • Pypy 1.9
  • Jython 2.5

或者说tox

~/dev/git-repos/python_unittest_parameterized_test_case$ tox
...
  py25: commands succeeded
  py26: commands succeeded
  py27: commands succeeded
  py31: commands succeeded
  py32: commands succeeded
  py33: commands succeeded
  jython: commands succeeded
  pypy: commands succeeded
  congratulations :)

您也可以检查latest Travis CI results,但是 特拉维斯并没有建立以上所有的平台。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java安装Solr PHP java_主页错误   java如何识别ObjectInputStream是否有可用的对象?   JavaSpringMVC导航路径   java dom4j我想在处理指令后消除空行   java如何进行lastIndexOf与indexOf的比较?   java如何在Spring Boot中迭代设计视图(HTML/CSS)?   java如何使用jackson自定义序列化程序序列化复合对象?   java如何在jenkins上启用调试日志记录?   java AutoCloseable协定:close()中允许写入资源?   java以编程方式返回到launcher 安卓   多线程Java是否有内置的“反向”SwingWorker   javacom。亚马逊。AmazonServiceException:只能使用“筛选器表达式”、“查询筛选器”或“关键条件”中的一种   java如何解析Kotlin中截取的来自服务器的错误   尝试在Java中初始化Bouncy Castle密码时aes密钥长度不是128/192/256位   从Url java读取JSON