unittest 简单实现 pyunit 单元测试
废话不多说,直接上代码:
一、Roman函数为所有 1 到 50 的整数返回罗马字表示。
Roman.py
# -*- coding: utf-8 -*-
def toRoman(intdata):
knownValues = dict(( (1, 'I'),(2, 'II'),(3, 'III'),
(4, 'IV'),(5, 'V'),(6, 'VI'),(7, 'VII'),
(8, 'VIII'),(9, 'IX'),(10, 'X'),(50, 'L'),))
return knownValues[intdata]
二、TestRoman.py 来对其实现单元测试。
TestRoman.py
# -*- coding: utf-8 -*-
import unittest
import roman
class KnownValues(unittest.TestCase):
knownValues = ( (1, 'I'),
(3, 'III'),
(4, 'IV'),
(5, 'V'),
(7, 'VII'),
(8, 'VIII'),
(10, 'X'),
(50, 'L'),)
def testToRomanKnownValues(self):
for integer,numeral in self.knownValues:
result = roman.toRoman(integer)
self.assertEqual(numeral,result)
if __name__ == "__main__":
unittest.main()
Ps: (通过assertEqual对其返回结果进行检查,如果成功assertEqual什么都不做,如果失败,便会引发异常,测试也就此失败)
这只是一个正面的测试,传递的是一个思想,完整的应该还包括负面测试和完备性检测。
转载于:https://blog.51cto.com/meilisong/1438492