[英]How to mock the existence of a particular file in python unit test?
我正在為python中的嵌入式軟件代碼編寫單元測試。
其中一個文件需要存在特定文件。 (例如“/dir_name/file_name.txt”)否則會引發錯誤。
通常,此文件存在於硬件設備上,我的python代碼讀取此文件。 在為python代碼編寫單元測試時,如何模擬文件的存在?
tempfile.mkstemp()
似乎沒有生成我想要的確切路徑/文件名,即/dir_name/file_name.txt
。 它總是添加一些隨機字母。
這是Python3.4。 是否可以使用unittest.mock
實現這一目標?
您可以創建一個用於創建和刪除文件的上下文管理器。
from contextlib import contextmanager
@contextmanager
def mock_file(filepath, content=''):
with open(filepath, 'w') as f:
f.write(content)
yield filepath
try:
os.remove(filepath)
except Exception:
pass
def test_function():
with mock_file(r'/dirname/filename.txt'):
function()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.