• 男神鹏:restframewor 单元测试常用断言以及测试详解。


    常用断言语句
    assertFalse(expr, msg=None)
    判断返回的是否是False
      assertTrue(expr, msg=None)
      assertEqual(first, second, msg=None)
      判断是否相等
      assertNotEqual(first, second, msg=None)
      assertAlmostEqual(first, second, places=None, msg=None, delta=None)
      assertNotAlmostEqual(first, second, places=None, msg=None, delta=None)
      assertSequenceEqual(seq1, seq2, msg=None, seq_type=None)
      assertListEqual(list1, list2, msg=None)
      assertTupleEqual(tuple1, tuple2, msg=None)
      assertSetEqual(set1, set2, msg=None)
      assertIn(member, container, msg=None)
      判断member是否包含在container中
      assertNotIn(member, container, msg=None)
      assertIs(expr1, expr2, msg=None)
      assertIsNot(expr1, expr2, msg=None)
      assertDictEqual(d1, d2, msg=None)
      assertDictContainsSubset(expected, actual, msg=None)
      assertItemsEqual(expected_seq, actual_seq, msg=None)
      assertMultiLineEqual(first, second, msg=None)
      assertLess(a, b, msg=None)
      assertLessEqual(a, b, msg=None)
      assertGreater(a, b, msg=None)
      assertGreaterEqual(a, b, msg=None)
      assertIsNone(obj, msg=None)
      assertIsInstance(obj, cls, msg=None)
      assertNotIsInstance(obj, cls, msg=None)
      assertRaisesRegexp(expected_exception, expected_regexp,
       callable_obj=None, *args, **kwargs)
      assertRegexpMatches(text, expected_regexp, msg=None)
      assertNotRegexpMatches(text, unexpected_regexp, msg=None)

    测试接口地址
      测试接口地址建议使用硬编码,尽量不要使用reverse反解析url,原因是接口地址尽量避免改变,如果必须修改,需要以很明显的方式来提醒开发人员以便开发人员通知接口使用人员。
      测试数据准备
      有如下两种方法准备测试数据
      1.简单的数据可以在setUp()里来创建;
      2.复杂数据可以使用fixtures来写,并在赋值给测试类的fixtures属性;
      fixtures数据示例
       [{{
       “model”: “myapp.person”,
       “pk”: 1,
       “fields”: {
       “name”: “Xiaoli”,
       “phone”: “123456”
       }
       },
       {
       “model”: “myapp.person”,
       “pk”: 2,
       “fields”: {
       “name”: “xiangki”,
       “phone”: “963852741”
       }
       }
      ]

    测试覆盖率(coverage)
      在Pycharm里可以通用右键项目,选择Run ‘Test:’ with Coverage来查看测试的覆盖率。
    使用Python 测试代码覆盖率统计工具 coverage.py


    1:安装

        (1).pip install coverage

    2:生成覆盖率统计文件

       (1) .python -m coverage run --source='.' manage.py test --noinput
       (2) .执行代码覆盖率统计,只需要通过coverage的run参数执行被统计代码即可。
       (3). 跑完后,会自动生成一个覆盖率统计结果文件(data file):.coverage。如果要修改这个默认的文件名也可以,只要设置COVERAGE_FILE环境变量。

    3:显示统计结果

        python -m coverage report
        有了覆盖率统计结果文件,只需要再运行report参数,就可以在命令里看到统计的结果

  • 相关阅读:
    spring 09-Spring框架基于QuartZ实现调度任务
    spring 08-Spring框架Resource资源注入
    spring 07-Spring框架Resource读取不同资源
    spring 06-Spring框架基于Annotation的依赖注入配置
    html 默认跳转
    poi 设置样式
    支付宝扫码支付回调验证签名
    构造器初始化
    cxf webservice
    CSS3 border-image 属性
  • 原文地址:https://www.cnblogs.com/lyp0626/p/11591884.html
Copyright © 2020-2023  润新知