我正在使用 jetbrains academy 和 pycharm,我正在尝试构建一门使用 python 中的单元测试进行自动检查的课程。这是我在创建“edu”类型的默认任务时得到的结果:
当我查看默认的test_task.py(我没有更改一行)时,问题已经很明显了:
import unittest
from task import summe
# todo: replace this with an actual test
class TestCase(unittest.TestCase):
def test_add(self):
self.assertEqual(summe(1, 2), 3, msg="adds 1 + 2 to equal 3")
第 3 行不起作用,因为从 test_task.py 中看不到任务。由于课程结构,我不能/不想改变结构。我能做些什么?为什么 Jetbrains 没有文档?
谢谢您的帮助 雷托
我已经尝试过相对导入(来自..导入任务),显然不起作用。我还尝试使用 sys.path.append('../task1') 进行一些路径干预,但没有结果。令人惊奇的是,看似简单的事情却如此复杂......
我认为您无法从更高的目录获取文件。您可以通过以下方式在task.py中使用test_task.py:
import tests.test_task.py
但我认为反过来是不可能的。可能的是,使用 sys 和 os 模块创建一个存储 task.py 的目录并像这样导入它。这个网站是这样解释的:
我希望这有帮助!