0
对于愚蠢的问题,我很遗憾,但是我在过去的两个小时里一直在撞墙。嵌套软件包的自动测试
我想用相对进口和我的项目结构是这样的:
auto_testing
+ tests
+ __init__.py
+ my_module.py
+ src
+ __init__.py
+ my_module.py
+ __init__.py
的tests/my_module.py
内容是:
import unittest
from src.my_module import MyClass
class TestMyClass(unittest.TestCase):
def setUp(self):
self.inst = MyClass()
def test_division_by_zero(self):
self.assertRaises(ZeroDivisionError, self.inst.divide, 1, 0)
def run_tests():
unittest.main()
if __name__ == '__main__':
run_tests()
然后我在终端
cd auto_testing
python3 -m tests.my_module
运行命令
并获得Error while finding spec for 'tests.my_module.py' (<class 'AttributeError'>: 'module' object has no attribute '__path__')
。
当我运行
cd auto_testing
python3
import tests.my_module
tests.my_module.run_tests()
我得到Ran 0 tests
(为什么没有测试,发现应该是另一个问题,但问题是,MyClass
正确导入和unittest.main()
好像是叫;与print
选中)。
我应该去睡觉吗我错过了很简单的东西?