如何访问我的unittest.py中的task.py文件?

问题描述 投票:0回答:1

我正在使用 jetbrains academy 和 pycharm,我正在尝试构建一门使用 python 中的单元测试进行自动检查的课程。这是我在创建“edu”类型的默认任务时得到的结果:

file structure

当我查看默认的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') 进行一些路径干预,但没有结果。令人惊奇的是,看似简单的事情却如此复杂......

python unit-testing pycharm python-unittest jetbrains-toolbox
1个回答
0
投票

我认为您无法从更高的目录获取文件。您可以通过以下方式在task.py中使用test_task.py:

import tests.test_task.py

但我认为反过来是不可能的。可能的是,使用 sys 和 os 模块创建一个存储 task.py 的目录并像这样导入它。这个网站是这样解释的:

https://favtutor.com/blogs/import-from-parent-directory-python#:~:text=结论,Python%20with%20many%20subdirectories%20simple.

我希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.