python代码评测结果tle_python+unittest接口测试与报告生成

下面介绍内容为接口测试的基本简单实现,其中包括了几种不同的添加case和生成测试报告的方法,代码已测试通过,并附上报告截图

--------------------------分割线----------------------------------------------------------

import unittest

import xmlrunner

import HTMLTestRunner

import time

class Test(unittest.TestCase):

flag = 1

‘‘‘setUp() 在每个测试方法执行前执行一次,tearDown() 在每个测试方法执行后执行一次,

如本例子的test_Add1和test_Add2 ;

setUp用来为准备测试环境和数据,tearDown用来清理环境和数据,以备之后的测试‘‘‘

‘‘‘类方法 setUpClass() 在所有测试方法开始执行前执行一次,

tearDownClass() 在所有测试方法执行后执行一次‘‘‘

def setUp(self):

print("每个测试case开始执行前执行")

def tearDown(self):

print("每个测试case结束执行后执行")

@classmethod

def setUpClass(cls):

print("所有测试case开始执行前执行")

@classmethod

def tearDownClass(cls):

print("所有测试case结束执行后执行.")

def add(self,a,b):

return a+b

# 每个测试方法均以 test 开头,否则是不被unittest识别的。

def test_Add1(self):

print(‘test_Add1‘)

self.assertEqual(3,self.add(1,2))

def test_Add2(self):

print(‘test_Add2‘)

self.assertEqual(3,self.add(1,4))

‘‘‘skip装饰器一共有三个

unittest.skip(reason)

unittest.skipIf(condition, reason)

unittest.skipUnless(condition, reason)

skip无条件跳过,skipIf当condition为True时跳过,skipUnless当condition为False时跳过‘‘‘

@unittest.skip("跳过tes_Add3")

def test_Add3(self):

self.assertEqual(6,self.add(2,4))

print(‘test_Add3‘)

@unittest.skipIf(flag == 1, "当condition为True时跳过")

def test_Add4(self):

print(‘test_Add4‘)

self.assertEqual(6,self.add(2,4))

@unittest.skipUnless(flag == 1, "当condition为False时跳过")

def test_Add5(self):

print(‘test_Add5‘)

self.assertEqual(6, self.add(2, 4))

if __name__ == ‘__main__‘:

test_suite = unittest.TestSuite()

# 添加case方法一:执行case顺序根据与添加的顺序一致

‘‘‘test_cases = [Test("test_Add5"),Test("test_Add2"),Test("test_Add3"),Test("test_Add4"),Test("test_Add1")]

test_suite.addTests(test_cases)‘‘‘

# 添加case方法二:单独一个一个添加

‘‘‘test_suite.addTest(Test("test_Add5"))

# test_suite.addTest(Test("test_Add4"))‘‘‘

# 添加case方法三:loadTestsFromTestCase(),传入TestCase

# test_suite.addTests(unittest.TestLoader().loadTestsFromTestCase(Test))

# 添加case方法四

test_suite.addTest(unittest.makeSuite(Test))

# 生成Text格式测试报告

‘‘‘with open(‘TextTestRunnerReport.txt‘, ‘a‘) as f:

runner = unittest.TextTestRunner(stream=f, verbosity=2)

runner.run(test_suite)‘‘‘

# 生成xml格式的测试报告

‘‘‘# test_suite.addTest(unittest.makeSuite(Test))

runner = xmlrunner.XMLTestRunner(output=‘report‘) # 指定报告放的目录

runner.run(test_suite)‘‘‘

# 生成HTML格式的测试报告

now = time.strftime(u‘%Y%m%d%H%M‘)

# test_suite.addTest(Test(‘test_Add1‘))

# test_suite.addTests(unittest.TestLoader().loadTestsFromTestCase(Test))

report = ".\\report\\" + now + "HTMLreport.html"

with open(report,‘wb‘) as f:

runner = HTMLTestRunner.HTMLTestRunner(f, verbosity=2, title=‘这是HTML格式测试报告‘, description=‘测试报告‘)

runner.run(test_suite)

# verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告、2 是详细报告

# unittest.main(verbosity=2)

--------------------------------------------------------------分割线-----------------------------------------------------------------

text报告格式截图:

eb37e5ec89e607a81c3d40a5e2bc27e3.png

xml报告格式截图:

57658dd16a59e3de59df29c9efac94a7.png

html格式报告截图:

0ddfb6d8380b7a7d519ab99d43de2e3a.png

原文:https://www.cnblogs.com/fppblog/p/11419041.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值