我正在学习如何编写单元测试。 app.py:
class MyClass:
def add(self):
return 2+2
app_test.py:
import app
import unittest
class TestMyClass(unittest.TestCase):
def test_add(self):
self.assertEqual(app.add(), 4)
if __name__ == '__main__':
unittest.main()
运行命令:python -m unittest app_test.TestMyClass
。
错误:
Traceback (most recent call last):
File "app_test.py", line 6, in test_add
self.assertEqual(app.add(), 4)
AttributeError: 'module' object has no attribute 'add'
答案 0 :(得分:1)
当您的测试是对象方法时,您的测试会直接调用add()
。首先创建一个对象。这应该有用。
from app import MyClass
import unittest
class TestMyClass(unittest.TestCase):
def test_add(self):
o = MyClass()
self.assertEqual(o.add(), 4)