gpt4 book ai didi

python - 单元测试不会运行测试

转载 作者:行者123 更新时间:2023-12-01 01:00:32 26 4
gpt4 key购买 nike

我编写了代码来测试 Circle 类方法 circumference()area() 返回正确的输出。当单元测试类运行时,它说它已经运行了 0 个测试。

class Circle:

def __init__(self, r=1):
self.radius = r

def serRadius(self, r):
self.radius = r

def getRadius(self):
return self.radius

def area(self):
return 3.14 * self.radius * self.radius

def circumference(self):
return 2 * 3.14 * self.radius


import unittest

from Circle import Circle

class TestCircleMethods(unittest.TestCase):

def setUp(self):
print('\nsetUP')
circle = Circle(self, r=1)

def tearDown(self):
print('tearDown\n')


def test_area(self):
print('Test Area\n')
assertEqual(circle.area(), 3.14)

def test_circumference(self):
print('Test Cirumference\n')
assertEqual(circle.circumference(), 6.28)



if __name__ == '__main__':
unittest.main()

最佳答案

您在测试中的一些地方缺少self。另外,Circle(self, r=1) 应该是 Circle(r=1)。缩进似乎也是错误的,但我不确定复制粘贴代码时是否会发生这种情况。您也可以仔细检查一下。

这有效:

class Circle:

def __init__(self, r=1): self.radius = r

def serRadius(self, r): self.radius = r

def getRadius(self): return self.radius

def area(self): return 3.14 * self.radius * self.radius

def circumference(self): return 2 * 3.14 * self.radius

import unittest

class TestCircleMethods(unittest.TestCase):

def setUp(self):
print('\nsetUP')
self.circle = Circle(r=1)

def tearDown(self):
print('tearDown\n')


def test_area(self):
print('Test Area\n')
self.assertEqual(self.circle.area(), 3.14)

def test_circumference(self):
print('Test Cirumference\n')
self.assertEqual(self.circle.circumference(), 6.28)



if __name__ == '__main__':
unittest.main()

关于python - 单元测试不会运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55837892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com