使用unittest进行单元测试

  Python没有静态类型检测机制, 编译器不能保证程序一定会在运行的时候正确执行, 需要通过一些测试确保所写的函数能正确运行, 使用python内置的unittest模块进行, 参考以下代码以作备忘。

import unittest

class Dict(dict):

    def __init__(self, **kw):
        super().__init__(**kw)

    
    def __getattr__(self, key):
        try:
            return self[key]
        except KeyError:
            raise AttributeError("Dict object has no attribute {0}".format(key))


    def __setattr__(self, key, value):
            self[key]=value


class TestDict(unittest.TestCase):

    def test_init(self):
        d = 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 = Dict()
        d['key'] = 'value'
        self.assertEqual(d.key, 'value')


    def test_attr(self):
        d = Dict()
        d.key = 'value'
        self.assertTrue('key' in d)
        self.assertEqual(d['key'], 'value')


    def test_keyerror(self):
        d = Dict()
        with self.assertRaises(KeyError):
            value = d['empty']


    def test_attrerror(self):
        d = Dict()
        with self.assertRaises(AttributeError):
            value = d.empty


if __name__ == '__main__':
    unittest.main()

 

参考 链接

转载于:https://www.cnblogs.com/skadieye/p/10124801.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pycharm Community版本不支持Coverage工具,但是你可以使用其他第三方库来进行代码覆盖率测试,例如coverage、pytest-cov等。这里以使用coverage库为例,介绍如何在Pycharm Community版本中查看代码覆盖率: 1. 安装coverage库,可以使用以下命令安装: ``` pip install coverage ``` 2. 在Pycharm中打开要测试的项目,并打开要测试的文件。 3. 在文件中编写unittest测试用例,例如: ```python import unittest def add(a, b): return a + b class TestAdd(unittest.TestCase): def test_add(self): self.assertEqual(add(1, 2), 3) if __name__ == '__main__': unittest.main() ``` 4. 在Pycharm的Terminal中进入项目目录,使用以下命令运行测试用例,并生成代码覆盖率报告: ``` coverage run --source=. -m unittest test_add.py ``` 其中,"--source=."表示要测试当前目录下的所有文件,"-m unittest"表示使用unittest运行测试用例,"test_add.py"表示要运行的测试文件名。 5. 使用以下命令生成代码覆盖率报告: ``` coverage html ``` 该命令会在当前目录下生成一个"htmlcov"文件夹,其中包含了代码覆盖率报告。打开"htmlcov/index.html"文件,即可查看代码覆盖率报告。 注意:如果你想查看每个函数被执行的次数,可以使用以下命令: ``` coverage run --source=. -m unittest test_add.py && coverage report -m ``` 该命令会在运行测试用例后,输出每个函数被执行的次数。 以上就是使用第三方库进行代码覆盖率测试的方法,虽然比较麻烦,但可以在Pycharm Community版本中实现代码覆盖率测试

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值