我正在使用python3尝试获取示例应用程序工作的测试文件,但它一直在抛出ImportError: No module named 'calculate'
我的文件结构是:
/calculate
__init__.py
calculate.py
test/
__init__.py
calculate_test.py
我无法弄清楚为什么会这样,任何帮助都会非常感激。
__init__.py
个文件为空。
calculate.py 包含:
class Calculate(object):
def add(self, x, y):
return x + y
if __name__ == '__main__':
calc = Calculate()
result = calc.add(2, 2)
print(result)
calculate_test.py 包含:
import unittest
from calculate import Calculate
class TestCalculate(unittest.TestCase):
def setUp(self):
self.calc = Calculate()
def test_add_method_returns_correct_result(self):
self.assertEqual(4, self.calc.add(2,2))
if __name__ == '__main__':
unittest.main()
我从根python test/calculate_test.py
文件夹运行/calculate
并收到错误
Traceback (most recent call last):
File "test/calculate_test.py", line 2, in <module>
from calculate import Calculate
ImportError: No module named 'calculate'
我一直在摆弄不同的结构,无法理解问题所在。
答案 0 :(得分:0)
您的项目结构就是原因。启动时,测试脚本在搜索路径中没有外部目录。以下是解决该问题的一些方法
使用此结构
KEY SUM_TC
--- ----------
A 39
B 29
C 6
D 12
这将要求您将calculate_test.py中的导入签名更改为./project/
calculate_test.py
calculate/
__init__.py
calculate.py