[英]Testing a python script with pytest - permission issues
我已经使用pytest对模块进行了单元测试,没有任何问题。 我也想测试我的脚本(其中导入了一些模块),但是出现权限错误。 我是刚开始编写实际上需要测试和维护的大型python项目的新手,因此我的目录结构可能不是最佳的,所以请告诉我是否是这种情况。 我的目录结构看起来像-
parent
modules
__init__.py
module1.py
...
test
...
test_script.py
script.py
我的测试代码:
import os
import subprocess
import train
def test_train_dataset1():
#run the script
p = subprocess.Popen(['./train.py', 'test_models', 'test1', 'data/temp.json', '--isfile'])
#more code to check output
我的错误:
PermissionError: [Errno 13] Permission denied: './train.py'
Permission denied: './train.py'
最肯定意味着该文件不可执行。 修理:
chmod a+x ./train.py
还要验证它是否具有正确的shebang行( #!/usr/bin/python
等)。
PS。 import train
,您是否从同一train.py
进口? 如果不是,则不应为脚本提供与要导入的模块/软件包相同的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.