TEST文件夹:Pytest,集成测试,单元测试
在复杂的自动驾驶项目中哪怕你只改了一行代码都可能导致整个感知或控制系统崩溃。如果直接去训练还会消耗大量算力。所以当你新写了一个功能比如你改了采样逻辑先不要急着去跑训练。先跑一下测试看看有没有问题。没问题再去训练。A.unit_tests/单元测试test_random_sampler.py它是干嘛的测试数据采样器的逻辑。具体内容CoIL 训练时需要从海量数据中随机抽样。这个文件会检查抽样是否真的随机有没有漏掉某些指令比如漏抽了左转的数据抽出来的索引是否越界地位最基础的保障。B.full_tests/集成测试test_load_data.py它是干嘛的测试整条数据流水线。具体内容它会模拟一次真实的数据加载过程。它会去读 H5 文件、解压图片、做数据增强Augmentation然后看最后出来的张量Tensor形状对不对有没有报错。地位确保大脑网络还没开始练眼睛数据流没瞎。与“主线”的关系主线coiltraine.py训练和drive.py驾驶。测试线testing/。它们是“守卫”与“战士”的关系。测试文件夹里的代码不会在训练或驾驶时运行。但是在你正式开始训练之前或者在你提交代码到 GitHub 之前你应该先跑一遍测试。如果测试全部“变绿”通过你才有信心去跑主线。它的输入与输出是什么输入 (Input)被测代码即你的network/、input/里的源码。样例数据一些小型的、用来实验的图片或 H5 日志文件。输出 (Output)报告ReportPassed (绿)表示逻辑正确可以放心。Failed (红)会明确告诉你哪一行代码在处理什么数据时报错了或者结果不符合预期。pytest是什么pytest是 Python 世界里最流行、功能最强大的“自动化测试框架”。如果把你的testing/文件夹里的那些脚本比作一堆“体检项目”那么pytest就是那个“自动体检机器人”。它会走进实验室自动翻开每一个体检项目运行它并最后给你出一份详细的体检报告。1. 为什么不直接用python xxx.py运行你可能会问“我直接运行python testing/unit_tests/test_random_sampler.py不行吗” 行是行但如果你有 100 个测试文件你不可能手动运行 100 次。pytest的核心优势在于自动发现 (Auto-discovery)你只要在根目录喊一声pytest它就会自动扫描所有文件夹把所有以test_开头的文件和函数全部找出来运行不需要你一个一个点。断言简单 (Simple Assertions)它直接使用 Python 自带的assert关键字。比如assert a b如果失败了它会非常详细地告诉你a是多少b是多少哪里不对。插件丰富它有成千上万的插件。比如pytest-cov可以告诉你你的测试覆盖了百分之多少的代码。2.pytest是如何工作的以你的项目为例当你在终端输入pytest时它会遵循以下“寻宝规则”找文件寻找所有test_*.py或*_test.py的文件。找函数进入这些文件寻找所有以test_开头的函数。运行并报告如果函数运行没报错标记为PASSED (点.)。如果assert失败或代码崩了标记为FAILED (叉F)。3. 一个典型的pytest代码长什么样在你那个test_random_sampler.py里面逻辑大概是这样的# 这是一个典型的 pytest 测试函数 def test_sampler_output_size(): # 1. 准备数据 (Setup) data [1, 2, 3, 4, 5] sampler RandomSampler(data) # 2. 执行操作 (Action) result sampler.sample(3) # 假设我们要采样3个 # 3. 验证结果 (Assert) # 这就是 pytest 的核心断言。如果不等于 3pytest 就会报警。 assert len(result) 3如何运行方法一使用pytest(最专业、最推荐)该项目采用标准的 Python 测试结构通常默认安装了pytest。打开终端确保你的路径在项目的根目录即可以看到carla08、network等文件夹的地方。激活环境确保你已经进入了requirements.yaml配置的那个虚拟环境。运行所有测试pytest testing/现象你会看到屏幕上跳出一串.代表通过或者F代表失败。运行特定文件比如只想测采样器pytest testing/unit_tests/test_random_sampler.py方法二使用 VS Code 的“烧杯”图标 (最直观)既然你正在用 VS Code利用它的可视化界面会非常舒服安装插件确保已安装微软官方的Python 扩展。配置测试点击左侧边栏的“烧杯”图标测试视图。点击Configure Python Tests。选择pytest作为测试框架。选择root directory根目录作为搜索路径。一键运行配置完成后你会看到所有测试函数左侧出现了一个绿色的“播放”按钮。点一下它就会自动运行并在界面上反馈结果。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2480876.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!