美文网首页
unittest框架(二)

unittest框架(二)

作者: 在下YM | 来源:发表于2021-08-02 14:40 被阅读0次

unittest使用步骤

1.导入unittest模块
2.定义一个继承自unittest.TestCase的测试用例类,如class xxx(unittest.TestCase):
3.定义setUp和tearDown,如果定义了则会在每个测试case执行前先执行setUp方法,执行完毕后执行tearDown方法。
4.定义测试用例,名字以test开头,unittest会自动将test开头的方法放入测试用例集中。
5.一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。
6.调用unittest.main()启动测试,或实例化runner对象执行测试集、测试函数
7.如果测试未通过,则会显示e,并给出具体的错误(此处为程序问题导致)。如果测试失败则显示为f,测试通过为.,如有多个testcase,则结果依次显示。

示例

import unittest


class TestAdd(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        """setUpClass为类的初始化方法,在整个类运行前执行只执行一次"""
        print('setUpClass')

    def setUp(self):
        """为测试方法的初始化,每个text函数运行前执行一次"""
        self.a = 20
        self.b = 10
        print('setUp')

    def tearDown(self):
        """清理函数,和setUp类似,每个text函数执行后执行一次"""
        print('tearDown')

    @classmethod
    def tearDownClass(cls):
        """和setUpclass类似,在调用整个类测试方法完成后执行一次"""
        print('tearDownClass')

    def test_add(self):
        """验证加法"""
        result = self.a + self.b
        self.assertEqual(result, 30)
        print('test_add')

    def test_sub(self):
        """验证减法"""
        result = self.a - self.b
        self.assertEqual(result, 10)
        print('test_sub')


if __name__ == "__main__":
    unittest.main()
  • 在pycharm中右键运行的位置不同,结果也不同
  • 想要完整运行,鼠标放在最后一行代码的位置,再右键运行
  • unittest默认加载脚本的顺序是:根据ASCII码的顺序加载,数字与字母的顺序为:0-9,A-Z,a-z。

相关文章

网友评论

      本文标题:unittest框架(二)

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