男神鹏: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参数,就可以在命令里看到统计的结果

 

转载于:https://www.cnblogs.com/lyp0626/p/11591884.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值