我正在尝试为我的python应用程序运行一些测试,但是我无法正确设置路径,以便我的test.py
可以找到它。
我的应用程序的结构如下:
repo/src/main/python/main_module
repo/tests/test.py
我的test.py
看起来像这样:
import sys
sys.path.append(os.path.normpath('C:/repo/src/main/python'))
import main_module
现在我想在Azure Pipelines中测试代码,所以首先我将存储库复制到位:
- powershell: |
cd C:/
mkdir repo
cp -r -v $(src.repo)/* C:/repo/
condition: eq( variables['Agent.OS'], 'Windows_NT' )
此后,我使用tree
测试是否正确复制了所有内容。
然后我只需调用以下命令即可运行测试脚本:
python C:/repo/tests/test.py
但这给了我ModuleNotFoundError
。
我也尝试过通过PYTHONPATH设置main_module
的路径,但这还是行不通的。
是我错过了他们的东西,还是这是Azure Pipelines中的错误?
答案 0 :(得分:0)
与Azure DevOps支持人员交谈后,我现在知道我的问题目前是DevOps-Pipelines中的错误。
现在,我将在主模块旁边复制测试脚本,如果一切顺利,则在构建应用程序之前将其删除。
答案 1 :(得分:0)
为了在 Linux 环境中使用 Azure 管道执行 python 脚本,我使用了 'script:'
script: pythonpath=/repo/src/main/python python3 repo/tests/test.py
displayName: 'execute script python'