# -*- coding:utf-8 -*-
#unittest案例
#构造一个类,包含整数加法运算
class Math:
def __init__(self,a,b): #初始化a和b
self.a=int(a)
self.b=int(b)
def add(self): #定义一个a+b的方法
return self.a+self.b
##############################################################################
#以上为需要进行的单元测试
#以下为对上面进行的单元测试
##############################################################################
# unittest的核心要素
# 1.TestCase
# 一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的准备(Setup),
# 执行测试代码(run),以及测试执行后的环境还原(tearDown)。单元测试(unittest)的本质就在这里,一个测试用例就是一个
# 完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。
# 2.testsuite
# 而多个测试用例集合在一起就是一个Testsuite,而且Testsuite可以嵌套testsuite。testload是用来加载用例到Testsuite中的
# 3.TextTestRunner
# TextTestRunner是来执行测试用例的,其中的run()会执行TestSuite/TestCase中的run(result)方法。测试结果会保存到TextTestResult
# 实例中,包含运行了多少测试用例,成功了多少,失败了多少等信息
# 4.fixture
# 而对一个测试用例环境的搭建和销毁,是一个fixture
# -*- coding:utf-8 -*-
# ----测试unittest1的Math的单元测试
from unittest1 import Math #导入需要测试的模块
import unittest #导入unittest(单元测试类)
class Testmath(unittest.TestCase): #定义一个测试用例
def setUp(self): #setUp为测试开始的固定格式
print("Strat test")
def test_Add(self): #测试的主体必须是以test_开头
j=Math(5,10) #调用测试主体的类并赋值
#self.assertEquals(j.add(),10)
self.assertEqual(j.add(),15) #断言是否相等
def test_Add1(self):
j=Math(3,10)
#self.assertEquals(j.add(),10)
self.assertEqual(j.add(),13)
def tearDown(self): #测试结束 tearDown是固定格式
print("Test End")
if __name__ == '__main__':
#构建测试集
suite=unittest.TestSuite()
suite.addTest(Testmath("test_Add"))
suite.addTest(Testmath("test_Add1")) #测试用例管理
#执行测试用例
runner=unittest.TextTestRunner()
runner.run(suite)