抛出异常:
class Widget:
def __init__(self,size=(40,40)):
self._size=size
def getSize(self):
return self._size
def resize(self,width,height):
if width<0 or height<0:
#抛出异常
raise ValueError("error size")
self._size=(width,height)
#self代表类的实例,self 在定义类的方法时是必须有的,
#虽然在调用时不必传入相应的参数
def add(self,a,b):
c=a+b
return c
def is_prime(self,n):
if n<=1:
return false
#python中的for 循环
for i in range(2,n):
if n%i==0:
#True、False与java不同
return False
return True
def dispose(self):
pass
if __name__=="__main__":
a=Widget()
b=a.add(2,1)
print(b)
flag=a.is_prime(3)
print(flag)
捕获异常:
import unittest
from Widget import Widget
class TestWidget(unittest.TestCase):
def setUp(self):
self.widget=Widget()
def tearDown(self):
self.widget=None
print ("测试结束!")
def test_add(self):
wg=self.widget
a=wg.add(1,2)
self.assertEqual(a,3)
def test_add2(self):
wg=self.widget
a=wg.add(2.5,1.3)
self.assertEqual(a,3.8)
def test_resize(self):
self.widget.resize(20,30)
self.assertEqual(self.widget.getSize(),(20,30))
def test_resize2(self):
try:
self.widget.resize(-10,10)
#捕获异常
except ValueError:
print("error size")
def test_resize3(self):
self.widget.resize(0,0)
self.assertEqual(self.widget.getSize(),(0,0))
if __name__=="__main__":
#main方法执行所有的测试用例
unittest.main()