簡體   English   中英

使用pytest測試python腳本-權限問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM