python单元测试

发表于:2018-11-09 09:59  作者:恋红尘,醉江山   来源:51testing采编

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签:

  个人在工作中用的不多。
  编写单元测试,我们需要引入Python自带的unittest模块:
  class Dict(dict):
  def __init__(self, **kw):
  super(Dict, self).__init__(**kw)
  def __getattr__(self, key):
  try:
  return self[key]
  except KeyError:
  raise AttributeError(r"'Dict' object has no attribute '%s'" % key)
  def __setattr__(self, key, value):
  self[key] = value
  编写单元测试类:
  unittest中有很多方法测试类中的属性的方法。
  # -*- coding: utf-8 -*-
  import unittest
  import Test
  class TestDict(unittest.TestCase):
  def test_init(self):
  d = Test.Dict(a=1, b='test')
  self.assertEqual(d['a'], 1)
  self.assertEqual(d['b'], 'test')
  self.assertTrue(isinstance(d, dict))
  def test_key(self):
  d = Test.Dict()
  d['key'] = 'value'
  self.assertEqual(d['key'], 'value')
  def test_attr(self):
  d = Test.Dict()
  d.key = 'value'
  self.assertTrue('key' in d)
  self.assertEqual(d['key'], 'value')
  def test_keyerror(self):
  d = Test.Dict()
  with self.assertRaises(KeyError):
  value = d['empty']
  def test_attrerror(self):
  d = Test.Dict()
  with self.assertRaises(AttributeError):
  value = d.empty
  if __name__=='__main__':
  TestDict.test_attrerror()
  setUp与tearDown
  可以在单元测试中编写两个特殊的setUp()和tearDown()方法。这两个方法会分别在每调用一个测试方法的前后分别被执行。
  可以将类中每一个方法都需要运行的代码放到其中。比如连接数据库等操作
  def setUp(self):
  print 'setUp...'
  def tearDown(self):
  print 'tearDown...'

   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

【有奖活动】填问卷 送70G测试大牛精品资料(干货+视频)!

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2018, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道