import unittest
from JSuan import JSuan
#定义测试类,父类为unittest.TestCase
class Test(unittest.TestCase):
#定义setUp()方法用于测试用例执行前的初始化工作
def setUp(self):
print("*"*30)
print("start test")
#self.number = input("请输入数字:")
#定义测试用例,以“test_”开头命名该方法
def test_case1(self):
print("加法计算:")
result = JSuan(2,3).add();
try:
self.assertEqual(result,5)
except:
print("计算错了")
else:
print("计算正确")
def test_case2(self):
print("乘法计算2:")
result = JSuan(2,3).ji();
try:
self.assertEqual(result,5)
except:
print("计算错了")
else:
print("计算正确")
#定义tearDown()方法用于测试用例执行之后的善后工作
def tearDown(self):
print("Test over")
print("*"*30)
if __name__ == '__main__':
'''
#执行测试方案一:
#unittest.main()方法会搜索该模块下所有以test_开头的测试用例方法,并自动执行他们
unittest.main()
'''
#执行测试方案二:
#先构造测试集,然后再实例化测试套件
suite = unittest.TestSuite();
#将测试用例加载到测试套件中
#执行顺序是安装加载顺序,先执行test_case2,再执行test_case1
suite.addTest(Test("test_case2"))
suite.addTest(Test("test_case1"))
#执行测试方案三:
url = "."
all_cases = unittest.defaultTestLoader.discover(url, "Test_*.py")
#把所有的测试用例加进来
for case in all_cases:
suite.addTests(case)
#执行测试用例,实例化TextTestRunner类
runner = unittest.TextTestRunner()
#用run()方法运行测试套件
runner.run(suite)