固定套件:
-
unittest module
包含了编写运行unittest
的功能,自定义的test class
都要集成unitest.TestCase
类,test method
要以test
开头,运行顺序根据test method的名字排序,特殊方法:
①setup()
:每个测试函数运行前运行
②teardown()
:每个测试函数运行完后执行
③setUpClass()
:必须使用@classmethod
装饰器,所有test运行前运行一次
④tearDownClass()
:必须使用@classmethod
装饰器,所有test运行完后运行一次
装饰器
- 可以使用
unitest.skip
装饰器族跳过test method
或者test class
,这些装饰器包括:
①@unittest.skip(reason)
:无条件跳过测试,reason
描述为什么跳过测试
②@unittest.skipif(conditition,reason)
:condititon
为true
时跳过测试: 这里完全可以应用条件去控制用例是否执行了,很灵活
③@unittest.skipunless(condition,reason)
:condition
不是true
时跳过测试
class MyTestCase(unittest.TestCase):
@unittest.skip("demonstrating skipping")
def test_nothing(self):
self.fail("shouldn't happen")
@unittest.skipIf(mylib.__version__ < (1, 3),
"not supported in this library version")
def test_format(self):
# Tests that work for only a certain version of the library.
pass
@unittest.skipUnless(sys.platform.startswith("win"), "requires Windows")
def test_windows_support(self):
# windows specific testing code
pass
@unittest.skip("showing class skipping")
class MySkippedTestCase(unittest.TestCase):
def test_not_run(self):
pass
-
expected failure
:使用@unittest.expectedFailure
装饰器,如果test失败了,这个test不计入失败的case数目
@阴天-2017-01-17 17:50:40
网友评论