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

标签 python

我编写了代码来测试 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/

相关文章:

python - 如何在 django 模型实例中转换 json?

python - 在 Google Cloud Logs 中看不到应用程序日志

python - 如何在不删除标题栏的情况下禁用 Tkinter 窗口的移动

python - 编辑相关字段时,tastypie PUT 错误未经授权 401

java - 使用 Excel 工作表中的数据填充 Web 文本字段,提交页面,重复?

python - 如何修复 "ValueError: not enough values to unpack (expected 2, got 1)"

python - 控制台速度 : PyCharm vs Spyder

python - 不同的实例是否共享类中声明的相同方法?

python - 属性错误 'module' 对象没有属性 "Field"

python - 如何在只有 1 个中心节点的森伯斯特图中正确使用 'percentParent'?