我正在尝试配置IntelliJ Ultimate 2017 IDE来运行Python单元测试。它没有用。
<mymodule>
&#39; - &GT;依赖项包括解释器和<Module source>
。 src
文件夹,其下有一个test
文件夹。测试文件夹的内容镜像src
文件夹,但文件前面加test_
以避免Python名称冲突。test
在模块设置中被标记为测试文件夹,我可以右键单击并运行测试&#39;对于该文件夹中的测试。但是,ImportError
会出现,因为它无法在src
目录中找到模块。__init__.py
个文件。IntelliJ为您提供正在运行的内容,如果我在命令上运行它,它可以工作,如:
python -m unittest discover -s /Users/nathanielford/myrepo/mymodule/src/tests -p test_util.py
似乎正在使用的根路径设置为我正在运行的单元测试文件所在的位置:它不会使用src
作为路径,因此无法找到要导入的东西。没有明显的地方可以指定此行为。它过去似乎没有像这样工作。
这是在IntelliJ更新后最近开始发生的。可能有些配置变得棘手,需要修复,但我不知道那是什么。也有可能在IntelliJ中引入了一些错误,但我也不知道如何识别它。我错过了什么?
答案 0 :(得分:1)
有同样的问题并通过不将测试文件夹标记为已排除但只是将其移出源来解决它。
所以如果结构是:
src
--->package
--->resources
test
在IntelliJ src文件夹中将其标记为Sources,将src / resources标记为Resources。
您的测试将在IDEA中运行。
由于我是python的新手,我不确定这是否会影响包装。虽然不进行构建但不导出测试文件夹。
希望有所帮助。
答案 1 :(得分:0)