import unittest, my_math
class ProductTestCase(unittest.TestCase):
def testInteger(self):
for x in xrange(-10,10):
for y in xrange(-10,10):
p = my_math.product(x,y)
self.failUnless(p ==x*y, 'Interger multi failed')
def testFloats(self):
for x in xrange(-10,10):
for y in xrange(-10,10):
x = x/10.0
y = y/10.0
p = my_math.product(x,y)
self.failUnless(p ==x*y,'float multi failed')
if name == '__main__': unittest.main()
修改 def testFloats(self): 为 def tesrFloats(self):
为什么检测结果就变化。
前者检测到两个。后者仅仅检测到一个
unittest在执行时仅仅会执行那些以test开头的方法,你这里将test改为了tesr当然就不执行这个方法作为测试啦,不知道我理解的是不是你想问的意思
应该是测试函数有命名规范,框架会去找对应的函数
unittest.main函数负责运行测试,实例化所有的TestCase子类,运行所有以test开头的方法