python unittest
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