java的单元测试框架Junit和TestNG,python里面也有单元测试框架-unittest,相当于是一个python版的junit。python里面的单元测试框架除了unittest,还有一个pytest框架,但是用的比较少
unittest注意点:
导入unittest模块
- 类名的第一个字母大写;
- 类要继承unittest.TestCase;
- 测试函数前必须加test,否则不会被当作测试用例来执行;
- setUp()和tearDown()方法每个测试用例都会执行;
代码例:简单用法
import unittest
import random
class TestSequenceFunctions(unittest.TestCase):
def setUp(self):
self.seq = range(10)
print ("setup completed!")
def test_run(self):
element = random.choice(self.seq)
self.assertTrue(element in self.seq)
def test_sth(self):
assert 1==1
def tearDown(self):
print ("tearDown completed")
class TestDictValueFormatFunctions(unittest.TestCase):
def setUp(self):
self.seq = list(range(10))
def test_shuffle(self):
random.shuffle(self.seq)
self.seq.sort()
self.assertEqual(self.seq, list(range(10)))
self.assertRaises(TypeError, random.shuffle, (1, 2, 3))