myclass.py
#!/usr/bin/env python
#encoding: utf-8
#encoding: utf-8
def sum( x, y):
return x+y
return x+y
def sub( x, y):
return x-y
return x-y
testmyclass.py
#! C:\Python33 python
#encoding: utf-8
import unittest
import myclass
class mytest(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def testsum(self):
self.assertEqual(myclass.sum(1, 2), 3, 'test sum fail')
def testsub(self):
self.assertEqual(myclass.sub(2, 1), 1, 'test sub fail')
if __name__ =='__main__':
unittest.main()
#encoding: utf-8
import unittest
import myclass
class mytest(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def testsum(self):
self.assertEqual(myclass.sum(1, 2), 3, 'test sum fail')
def testsub(self):
self.assertEqual(myclass.sub(2, 1), 1, 'test sub fail')
if __name__ =='__main__':
unittest.main()
######unittest.TestCase().assertEqual(num1,num2,'log')
带self参数的是类实例方法,需要在类(unittest.TestCase)后面加括号,否则需要对self赋值。即
unittest.TestCase.assertEqual(num1,num2,'log')会报错。
suite.py
import unittest
import testmyclass
suite = unittest.TestSuite()
suite.addTest(testmyclass.mytest("testsum"))
suite.addTest(testmyclass.mytest("testsum2"))
runner = unittest.TextTestRunner()
runner.run(suite)
print ("#"*80)
unittest.main()