测试框架设计:初步
在上次不成功的重构以后,我又蠢蠢欲动的重新设计程序,纠结了许久,还是决定程序写成OO的,OO设计我还没怎么想好,不过这次的重新设计我只写业务逻辑的API,同时编写配套的单元测试,用单元测试来验证API的正确
程序结构
common/
bussiness/
data/
test/
testMain.py
testMain.py是整个测试的启动点,只要在test目录执行该文件,那么testMain.py就会查找test目录下其他文件,并加载文件里的测试用例一并执行
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys import unittest listFiles = [] def getTestFiles(pathRoot): listPath = os.listdir(pathRoot) for pathName in listPath: p = pathName.find(".") if p == -1: path = pathRoot+"/"+pathName sys.path.append(path) getTestFiles(path) else: filename = pathName[:p] if filename == 'testMain': continue listFiles.append(filename) getTestFiles(".") listFiles = list(set(listFiles)) #print listFiles #loadTestCases for file in listFiles: command = "from %s import *" % file #print command exec(command) if __name__ == "__main__": unittest.main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述