簡體   English   中英

如何為我的 python 腳本創建自動化測試?

[英]How do I create an automated test for my python script?

我對編程相當陌生,目前正在研究 python 腳本。 它應該收集作為程序內部路徑給出的所有文件和目錄,並將它們復制到用戶可以選擇作為輸入的新位置。

import shutil 
import os 
from pathlib import Path 
import argparse 
 
src = [  [insert name of destination directory, insert path of file/directory that  
          should be copied ]
      ]

x = input("Please choose a destination path\n>>>")
if not os.path.exists(x):
    os.makedirs(x)
    print("Directory was created")
else:
    print("Existing directory was chosen")

dest = Path(x.strip())

for pfad in src:
    
    if os.path.isdir(pfad[1]):          
        shutil.copytree(pfad[1], dest / pfad[0]) 
    
    elif os.path.isfile(pfad[1]): 
        pfad1 = Path(dest / pfad[0])
        if not os.path.exists(pfad1):
             os.makedirs(pfad1)
        
        shutil.copy(pfad[1], dest / pfad[0]) 

    else:
        print("An error occured")
        print(pfad) 

print("All files and directories have been copied!")
input()

腳本本身運行良好。 問題是我想編寫一個測試,每次將代碼推送到我的 GitLab 存儲庫時都會自動測試代碼。 我已經瀏覽 web 很長一段時間了,但無法找到一個很好的解釋來說明如何為這樣的腳本創建測試。 我將非常感謝任何形式的反饋或有用資源的提示。

首先,您應該編寫一個可以在命令行中運行的測試。 我建議你使用 argparse 模塊來傳遞源目錄和目標目錄,這樣你就可以運行thescript.py source_dir dest_dir而無需人工干預。

然后,當您有一個可以運行的測試時,您需要將.gitlab-ci.yml添加到項目的根目錄,以便您可以使用 gitlab CI。 如果您從未使用過 gitlab CI,您需要從這里開始: https://docs.gitlab.com/ee/ci/quick_start/

之后,您將能夠向 your.gitlab-ci.yml 添加作業,以便安裝了python的運行器將運行測試。 如果不理解上句的粗體術語,需要先理解Gitlab CI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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