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