一个类class继承 unittest.TestCase,就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。
继承自unittest.TestCase的类中,测试方法的名称要以test开头。且只会执行以 test开头定义的方法(测试方法),测试用例执行的顺序会按照方法名的ASCII值排序。
简单的测试用例:
class Calcclass():
def jia(self,a,b):
c = a+b
return c
def jian(self,a,b):
c = a - b
return c
if __name__ == "__main__":
c = Calcclass()
print(c.jian(1,2))
print(c.jia(1,2))
不用python 模块unittest 的情况加,一些简单函数的测试,是可以这样写的。
下面用python 自带的 unittest 来写一段代码
方法一,
class Calcclass():
def jia(self,a,b):
c = a+b
return c
def jian(self,a,b):
c = a - b
return c
if name == “main”:
c = Calcclass()
c.jian(1,2)
c.jia(1,2)
数据还是这些数据。
下面是继承 unittest.TestCase后的 的测试用例
from funcDemo.calcDemo import *
import unittest
class Test(unittest.TestCase):
def setUp(self) -> None:
print(‘start’)
def test1(self):
c = Calcclass()
a = c.jia(4,5)
self. assertEqual(a,9)
return a
# @unittest.skip(‘代码注销,不使用方法’)
def test2(self):
c1 = Calcclass()
aa = c1.jian(1,3)
self.assertEqual(aa,-2)
return aa
def tearDown(self,) -> None:
print(‘end’)
if name == “main”:
unittest.main()
成功的运行两条测试用例,断言,assertEqual(第一个返回的参数值,第二个是预期的结果,如果两个一样不会报错)。
第二种方法:
class Calcclass():
def jia(self,a,b):
c = a+b
return c
def jian(self,a,b):
c = a - b
return c
if __name__ == "__main__":
c = Calcclass()
c.jian(1,2)
c.jia(1,2)
unittest 调用
from testxml import Test
import unittest
class UnistSuit():
def show(self):
su = unittest.TestSuite()
list_cases = [“test1”, “test2”]
for list_case in list_cases:
su.addTest(Test(list_case))
if name == “main”:
# unittest.main()
UnistSuit().show()