【发布时间】:2022-01-22 20:21:07
【问题描述】:
我必须在 python 中对 circle 进行单元测试,但我一生都无法弄清楚为什么会出现此错误:
Traceback(最近一次通话最后一次):
文件“c:\Users\User\Desktop\Domaci\Preadvanje 8\circle_unittest.py”,第 6 行,在 test_area self.assertEqual(circle.area (2),12.564) 文件“c:\Users\User\Desktop\Domaci\Preadvanje 8\class_circle.py”,第 5 行,在区域中 返回 (self.radius * self.radius) * 3.141 AttributeError: 'int' 对象没有属性 'radius'
圈子代码:
class circle:
def __init__(self,radius):
self.radius = radius
def area(self):
return (self.radius * self.radius) * 3.141
def perimeter(self):
return (2 * self.radius) * 3.141
r = int(input("Input r: "))
newcircle = circle(r)
print ("Area of the circle is: ", newcircle.area())
print("Perimeter of the circle is: ", newcircle.perimeter())
测试代码:
import unittest
from unittest.case import TestCase
from class_circle import circle
class test_circle(unittest.TestCase):
def test_area(self):
self.assertEqual(circle.area (2),12.564)
def test_perimeter(self):
self.assertEqual(circle.perimeter(2), 12.564)
if __name__ == '__main__':
unittest.main()
【问题讨论】:
标签: python unit-testing