【发布时间】:2017-03-29 23:27:25
【问题描述】:
我正在尝试配置我的 IntelliJ Ultimate 2017 IDE 以运行 Python 单元测试。它不工作。
- 项目为Gradle项目,大部分模块为Java/Scala。不过有几个 Python 模块。
- Python 插件已安装,Python 方面已添加到相应的模块中。
- Python 解释器设置良好。 IDE 实际上可以通过 ctrl 单击操作在代码中移动。
- 在“项目结构”->“
<mymodule>”-> 依赖项下,解释器和<Module source>都包括在内。 - 每个 Python 模块都有一个“内容根”。紧随其下的是一个
src文件夹,其下有一个test文件夹。测试文件夹的内容与src文件夹相同,但文件前面带有test_以避免 Python 名称冲突。 - 测试配置已选中“将源/内容根添加到 PYTHONPATH”选项。解释器已指定。
- 如果
test在模块设置中被标记为测试文件夹,我可以右键单击该文件夹中的测试并“运行测试”。但是,ImportErrors 会发生,因为它在src目录中找不到模块。 - 在所有适当的位置都有
__init__.py文件。 -
IntelliJ 为您提供了它正在运行的内容,如果我在命令上运行它,它就会起作用,类似于:
python -m unittest discover -s /Users/nathanielford/myrepo/mymodule/src/tests -p test_util.py
似乎正在使用的根路径设置为我正在运行的单元测试文件所在的位置:它不使用src 作为路径,因此它找不到要导入的东西。没有明显的地方可以指定这种行为。过去似乎不是这样。
这种情况最近开始发生,在 IntelliJ 更新之后。有可能某些配置变得古怪,需要修复,但我不知道那是什么。也有可能在 IntelliJ 中引入了一些错误,但我也不知道如何识别。我错过了什么?
【问题讨论】:
标签: python intellij-idea intellij-17