python建立目錄函式 如何測試建立目錄的函式?

2021-10-11 09:31:44 字數 985 閱讀 8851

這裡的乙個好實踐是學習如何使用mock或這樣的測試框架

此外,您應該使用python的unittest框架。在

你在這裡的目標不一定要確保某個東西被創造出來,而是要讓它被呼叫。因此,您需要做的是模擬外部呼叫,以幫助測試方法的正確流。所以在這種情況下,你應該模仿exists和makedirs。然後確保它被呼叫。這是乙個可以接受的單元測試。你可以這樣做:

讓我們假設您的主**位於乙個名為my的模組中_模組.py. 所以你想建立乙個測試檔案,我們稱之為測試.py為了保持簡單,並在單元測試中執行以下操作:from mock import patch

import my_module

import unittest

class mytest(unittest.testcase):

@patch('my_module.exists')

@patch('my_module.makedirs')

def test_create_dir(self, mock_make_dirs, mock_exists):

mock_exists.return_value = true

make_directory('thing_to_create')

mock_make_dirs.assert_called_with('thing_to_create')

所以,這裡發生的是,你告訴模仿者,你想模仿makedirs並存在。您正在使用mock_exists.return_value指定的true返回exists。然後進行實際呼叫,模擬將在該方法呼叫中生效。帶有mock_make_dirs.assert_called_with的最後一行將確保生成dir的方法將被實際呼叫。在

如果您還想測試是否確實建立了某些內容

在這種情況下,您可以做的是,嘗試使用上下文管理器並建立乙個臨時資料夾來進行測試,完成您的工作來測試您的方法和您必須做的任何其他事情,一旦您完成了您的工作,上下文管理器將自行銷毀。在

有關上下文管理器的資訊,請檢視contextlib

python建立目錄函式 python 建立目錄

python對檔案的操作還算是方便的,只需要包含os模組進來,使用相關函式即可實現目錄的建立。主要涉及到三個函式 1 os.path.exists path 判斷乙個目錄是否存在 2 os.makedirs path 多層建立目錄 3 os.mkdir path 建立目錄 demo 直接上 def ...

python如何建立函式 python函式 生成器

1.理論知識 什麼是生成器?生成器的本質就是迭代器。生成器和迭代器也有不同,唯一的不同就是 迭代器都是python給你提供的已經寫好的工具或者通過資料轉化得來的,比如檔案控制代碼,iter 1,2,3 生成器是需要我們自己用python 構建的工具。最大的區別也就如此了。2.生成器的構建方式?在py...

Python 建立目錄

import os os.mrkdir d demo 建立目錄 mrkdir 無法傳建立多級目錄 def mrkdir path 建立遞迴函式 建立多級目錄 if not os.path.exists d demo test python 判斷路徑是否存在 os.mrkdir d demo test...