美文网首页
Python3 unittest

Python3 unittest

作者: 多问Why | 来源:发表于2019-03-06 11:07 被阅读0次
import unittest

def mysum(arg):
    total = 0
    for val in arg:
        total += val
    return total


class TestSum(unittest.TestCase):
    def test_list_int(self):
        data = [1,2,3]
        result = mysum(data)
        self.assertEqual(result,6)

    def test_type_error(self):
        data = "abc"
        with self.assertRaises(TypeError):
            result = sum(data)

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

实际情况被测试的方法在一个文件中,测试类单独在一个文件中。

简单的mock测试

import unittest
from unittest.mock import patch
import math


class TestSum(unittest.TestCase):
    @patch('math.cos', return_value=6)
    def test_list_int(self,cos):
        data = [1,2,3]
        result = math.cos(data)
        self.assertEqual(result,6)

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

无论传入什么参数,math.cos()都返回6,注意只能patch类的方法,不能传一个函数名。

相关文章

网友评论

      本文标题:Python3 unittest

      本文链接:https://www.haomeiwen.com/subject/wqxtpqtx.html