首页 > 技术文章 > python unittest

alummox 2017-07-28 22:34 原文

1、setUp() 和 tearDown() 允许执行每个测试用例前分别初始化和清理测试环境,用法如下:

被测代码 myCode.py:

#coding=utf-8

def my_upper(arg):
    return arg.upper()

def my_isupper(arg):
    return arg.isupper()

unittest代码:

#coding=utf-8

import unittest
import myCode

class TestStringMehods(unittest.TestCase):

    def setUp(self):
        #执行每个用例前,初始化测试环境
        print 'setUp.....'
        pass

    def tearDown(self):
        #执行每个用例后清理测试环境
        print 'tearDown......'
        pass

    def test_upper(self):
        print 'testCase: testUpper.'
        result = myCode.my_upper('foo')
        self.assertEqual(result, 'FOO')

    def test_isupper(self):
        print 'testCase: testisupper.'
        result = myCode.my_isupper('FOO')
        self.assertTrue(result)
        result = myCode.my_isupper('Foo')
        self.assertFalse(result)

    @unittest.skip('skip is ignore') #忽略此用例不被执行
    def test_Ignore(self):
        print 'testCase: testIgnore.'
        pass

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

 

 

2、unittest 提供了丰富的命令行入口,可以根据需要执行某些特定的用例。有了命令行的支持

执行 testdemo.py 文件所有的测试用例:

$ python -m unittest UnittestDemo

显示执行详情

$ python -m unittest -v UnittestDemo 

 

推荐阅读