pytest unittest temp path单元测试创建临时文件

参考了这个:Test Files Creating a Temporal Directory in Python Unittests | Simple IT 🤘 Rocks

并使用pathlib做了优化:

python 复制代码
import tempfile
import unittest
from pathlib import Path


class TestExample(unittest.TestCase):
    def test_example(self):
        with tempfile.TemporaryDirectory() as tmpdirname:
            print("created temporary directory", tmpdirname)
            assert isinstance(tmpdirname, str)
            tmp_path = Path(tmpdirname)
            tmp_file = tmp_path / "output.txt"
            tmp_file.write_text("hehe")
            assert tmp_file.exists()
            assert tmp_file.read_text() == "hehe"


if __name__ == "__main__":
    unittest.main()

================

注:pytest的话,自带了tmp_path,直接用即可,例如

python 复制代码
# test_a.py
from pathlib import Path
def test_xxx(tmp_path):
    assert isinstance(tmp_path, Path)
    assert tmp_path.is_dir()
    p = tmp_path / 'a.txt'
    p.write_text('haha')
    assert p.read_text() == 'haha'
bash 复制代码
pytest test_a.py
相关推荐
独断万古他化7 小时前
Python 接口测试之 requests 库核心用法
python·pytest·接口测试·requests
姚青&10 小时前
Pytest 测试用例生命周期管理-fixture
测试用例·pytest
BPM_宏天低代码19 小时前
低代码平台的测试策略:自动化测试体系搭建
低代码·单元测试
进击切图仔19 小时前
ROS 中的单元测试
单元测试·log4j
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧20 小时前
Day01 Junit 单元测试 & 反射
java·后端·junit·单元测试
visual_zhang1 天前
单元测试系列:如何测试不愿暴露的私有状态
单元测试
金銀銅鐵4 天前
浅解 JUnit 4 第十五篇:如何在测试方法运行前后做些事情?
junit·单元测试
金銀銅鐵4 天前
浅解 JUnit 4 第十四篇:如何实现一个 @After 注解的替代品?
junit·单元测试
金銀銅鐵4 天前
浅解 JUnit 4 第十三篇:如何实现一个 @Before 注解的替代品?(下)
junit·单元测试
金銀銅鐵7 天前
浅解 JUnit 4 第十二篇:如何生成 @Before 注解的替代品?(上)
junit·单元测试