博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python学习笔记8-单元测试(1)
阅读量:6258 次
发布时间:2019-06-22

本文共 1743 字,大约阅读时间需要 5 分钟。

 

 源代码:

roman_mumeral_map = (('M',1000),	('CM',900),	('D',500),	('CD',400),	('C',100),	('XC',90),	('L',50),	('XL',40),	('X',10),	('IX',9),	('V',5),	('IV',4),	('I',1))def to_roman(n):	''' convert integer to Roman numeral '''	if not (0 < n < 4000):		raise OutOfRangeError('number out of range (must be less than 4000')	result = ''	for numeral, integer in roman_mumeral_map:		while n >= integer:			result += numeral			n -= integer			#print('subtracting {0} from input, adding {1} to output'.format(integer,numeral))	return resultclass OutOfRangeError(ValueError):	pass

 

单元测试代码:

import roman1import unittestclass KnownValue(unittest.TestCase):	"""docstring for KnownValue"""	known_values = ((1,'I'), (2,'II'), (3,'III'),		(3888,'MMMDCCCLXXXVIII'), (3999,'MMMCMXCIX'))	def test_to_roma_konwn_values(self):		''' to_roman should give known result with known input '''		for integer, numeral in self.known_values:			result = roman1.to_roman(integer)			self.assertEqual(numeral,result)class ToRomanBadInput(unittest.TestCase):	def test_too_large(self):		''' to_romam should fail with large input'''		self.assertRaises(roman1.OutOfRangeError,roman1.to_roman,4000)	def test_zero(self):		'''to_roman should fail with 0 iput '''		self.assertRaises(roman1.OutOfRangeError,roman1.to_roman,0)	def test_negative(self):		''' to_roman should fail with negtive input '''		self.assertRaises(roman1.OutOfRangeError, roman1.to_roman, -1)if __name__ == '__main__':	unittest.main()

 

class KnownValue(unittest.TestCase): -- 让该测试用例称为unittest模块下TestCase类的子类。

TestCase类提供了assertEqual()方法来检查两个值是否相等.

 

该模块中的每一个类方法都是一个测试用例,需要继承TestCase类

对于每一个测试用例,unittest模块会打印出每个测试用例的docstring,并说明该测试用例是失败还是成功。对于每一个失败的测试用例,unittest模块会打印出详细跟踪信息。

转载于:https://www.cnblogs.com/summerlong/p/4517561.html

你可能感兴趣的文章
Pointer 指针
查看>>
使用sqlyog将sql server 迁移到mysql
查看>>
lost connection to mysql server reading initial communication packet
查看>>
Eucalyptus安装包的功能列表
查看>>
mongodbOperator
查看>>
从零开始学Java(一)基础概念——什么是"编程和软件开发"?
查看>>
Latency
查看>>
System.Collections 学习
查看>>
Python 安装pyautogui
查看>>
Keras AttributeError 'NoneType' object has no attribute '_inbound_nodes'
查看>>
Gabor滤波器学习
查看>>
更改linux系统提示信息
查看>>
阿里巴巴CI:CD之分层自动化实践之路
查看>>
HDU 1060:Leftmost Digit
查看>>
numpy利用数组进行数据处理
查看>>
【转】TCP 网络状态图详解
查看>>
SQL Server之 (二) SQL语句 模糊查询 空值处理 聚合函数
查看>>
All about Using Burp Suite
查看>>
Nikto and whatweb
查看>>
无人值守工业控制系统网络安全解决方案
查看>>