zoukankan      html  css  js  c++  java
  • python单元测试

    个人在工作中用的不多。

    编写单元测试,我们需要引入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...'
  • 相关阅读:
    jdbc框架 commons-dbutils的使用
    SpringBoot整合Quartz和H2的例子
    Microsoft VS 2008 过期解决方法
    数据库事务的隔离级别
    angularJS中ng-if的用法
    angularJS中ng-change的用法
    Hello,Akka
    Yum常用命令及Yum中文手册
    最大堆的插入/删除/调整/排序操作(图解+程序)(JAVA)
    别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?
  • 原文地址:https://www.cnblogs.com/likeyou1/p/8430519.html
Copyright © 2011-2022 走看看