当前位置: 首页 > news >正文

copilot 产生 python工具函数并生成单元测试

stock.py 这个文件,我只写了注释(的开头),大部分注释内容和函数都是copilot

# split a string and extract the environment variable from it 
# input can be '', 'path=abc', 'path=abc;path=def', 'path=abc;path=def;path=ghi'
# output is a list of tuple environment variables(key and value)
def split_env_var(env_var):env_var_list = []if env_var == '':return env_var_listelse:env_var_list = env_var.strip(';').split(';')env_var_list = [tuple(x.split('=')) for x in env_var_list]return env_var_list

再新建一个 stock_test.py,写一行注释,Ctrl+L(或者调用 Open compiletion Panel)产生了很多的单元测试样例。

#this is test of stock.py
import unittest
from stock import split_env_varclass TestStock(unittest.TestCase):def test_empty(self):self.assertEqual(split_env_var(''), [])def test_empty2(self):self.assertEqual(split_env_var(';'), [('',)])def test_one(self):self.assertEqual(split_env_var('path=abc;'), [('path', 'abc')])def test_two(self):self.assertEqual(split_env_var('path=abc;path=def'), [('path', 'abc'), ('path', 'def')])def test_three(self):self.assertEqual(split_env_var('path=abc;path=def;path=ghi'), [('path', 'abc'), ('path', 'def'), ('path', 'ghi')])def test_four(self):self.assertEqual(split_env_var('path=abc;path=def;path=ghi;'), [('path', 'abc'), ('path', 'def'), ('path', 'ghi')])def test_five(self):self.assertEqual(split_env_var('path=abc;path=def;path=ghi;path=jkl'), [('path', 'abc'), ('path', 'def'), ('path', 'ghi'), ('path', 'jkl')])def test_six(self):self.assertEqual(split_env_var('path=abc;path=def;path=ghi;path=jkl;'), [('path', 'abc'), ('path', 'def'), ('path', 'ghi'), ('path', 'jkl')])def test_seven(self):self.assertEqual(split_env_var('path=abc;path=def;path=ghi;path=jkl;path=mno'), [('path', 'abc'), ('path', 'def'), ('path', 'ghi'), ('path', 'jkl'), ('path', 'mno')])def test_eight(self):self.assertEqual(split_env_var('path=abc;path=def;path=ghi;path=jkl;path=mno;'), [('path', 'abc'), ('path', 'def'), ('path', 'ghi'), ('path', 'jkl'), ('path', 'mno')])def test_nine(self):self.assertEqual(split_env_var('path=abc;path=def;path=ghi;path=jkl;path=mno;path=pqr'), [('path', 'abc'), ('path', 'def'), ('path', 'ghi'), ('path', 'jkl'), ('path', 'mno'), ('path', 'pqr')])if __name__ == '__main__':unittest.main()

再装一个 Python Test Explorer 插件用来进行 GUI test

在这里插入图片描述
附上我的 python test gui 配置
.vscode/settings.jon

{"python.testing.unittestEnabled": true,"python.testing.unittestArgs": ["-v","-s","./tmp","-p","*_test.py"],
}

有了 copilot 这个代码神器,之后的代码效率可以提升很多,之后要学会和这个超级智能助手交流,使用 pilot chat 功能,阅读开源代码的时候如同有一个老师在身旁, 更加有底气。

  • 增加使用经验和熟练度,发掘更多的使用场景,形成工作流
  • 多看看视频和博客,参考其他工程师的使用的心得

相关文章:

copilot 产生 python工具函数并生成单元测试

stock.py 这个文件,我只写了注释(的开头),大部分注释内容和函数都是copilot # split a string and extract the environment variable from it # input can be , pathabc, pathabc;pathdef, pathabc;pathdef;pathghi # output i…...

缓存与数据库双写一致性几种策略分析

一、背景 在高并发场景中,为防止大量请求直接访问数据库,缓解数据库压力,常用的方式一般会增加缓存层起到缓冲作用,减少数据库压力。引入缓存,就会涉及到缓存与数据库中数据如何保持一致性问题,本文将对几…...

Spring全家桶源码解析--2.6 Spring scope 限制bean的作用范围

文章目录 前言一、Scope是什么?二、Scope使用2.1 单例:2.1.1 单例Bean的特点如下:2.1.2 单例设计模式 与单例bean: 2.2 原型bean:2.2.1 原型Bean的特点:2.2.2 原型Bean的销毁: 2.3 Request bean…...

python 文本纠错库pycorrector的使用(API变更,许多介绍文章已不可用)

pycorrector是一个nice的中文检测库,在最新的版本API变更,导致许多之前的介绍文章不可用。 现将新API粘贴如下。...

【C++初阶(七)】类和对象(下)

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…...

Linux上C++通过LDAP协议使用kerberos认证AES加密连接到AD服务器

一.前言 记录自己在实现这个流程遇到的各种问题,因为我也是看了许多优质的文章以及组内大佬的帮助下才弄成的,这里推荐一个大佬的文章,写的非常优秀,比我这篇文章写得好得很多,最后我也是看这个大佬的代码最终才实现的…...

开源供应链管理系统 多供应商批发管理系统方案及源码输出

开发框架:PHPMySQL 后端框架:ThinkPHP 订货端:PC小程序 客户订货端:小程序 多仓库OR多供应商:多供应商 是否进销存:自带进销存 整个方案含B端订货PC、小程序端、C端小程序端下单,源码&…...

2yocto 自启动程序(服务)

yocto 自动运行主程序 文章目录 yocto 自动运行主程序1 问题现象2 问题分析:1)是否执行2)查看服务状态11)自动22)手动3)rc.local服务3 解决之道创建自定义服务自定义服务运行设置关系服务参考1 问题现象 系统启动后,自定义的主程序没有随着启动的起动,自动运行起来(界…...

AI 绘画 | Stable Diffusion 进阶 Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)

前言 Stable Diffusion web ui,除了依靠文生图(即靠提示词生成图片),图生图(即靠图片提示词生成图片)外,这两种方式还不能满足我们所有的绘图需求,于是就有了 Embeddings&#xff0…...

【汇编】计算机的组成

文章目录 前言一、计算机的基本组成1.1 中央处理器(CPU)1.2 内存指令和数据存储的位置计算机中的存储单元计算机中的总线地址总线数据总线控制总线 1.3 输入设备和输出设备1.4 存储设备 二、计算机工作原理三、计算机的层次结构总结 前言 计算机是现代社…...

asp.net学生宿舍管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 学生宿舍管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言 开发 asp.net学生宿舍管理系统1 应用技…...

[C++]Leetcode17电话号码的字母组合

题目描述 解题思路: 这是一个深度优先遍历的题目,涉及到多路递归,下面通过画图和解析来分析这道题。 首先说到的是映射关系,那么我们就可以通过一个字符串数组来表示映射关系(字符串下标访问对应着数字映射到对应的…...

OpenBMC Uboot下使用TFTP升级系统

设置TFTP服务器 setenv serverip 192.168.2.300 传入系统固件 OpenBMC的.bin文件:image-bmc,位于obmc-phosphor-image-XXXXX.static.mtd.all.tar压缩包中, image-bmc解压到TFTP服务器共享目录,传入固件: #直接输入…...

巨量千川「全域推广」指南来袭!助力商家开拓新流量

如今,在抖音上进行直播销售的商家,都希望在不影响ROI的情况下,提高整体业务水平,实现高效率的结果。然而,考虑到人货场波动和直播本身的复杂性,许多商家面临着诸如低投放效果、波动的ROI和缺乏GMV增长动力等…...

视频剪辑助手:轻松实现视频随机分割并提取音频保存

随着社交媒体和视频平台的日益普及,视频制作和分享已成为人们日常生活的一部分。无论是分享个人生活,还是展示才艺,或是推广产品,视频都是一个非常有效的工具。但是,视频制作往往涉及到大量的视频剪辑工作,…...

java注解的作用

注解 Java注解是一种用于给类、方法、字段、参数等元素添加元数据的机制,可以用来实现一些特定的功能,比如配置、文档、测试等。Java注解有两种类型:内置的和自定义的。内置的注解是Java语言或者JDK提供的,比如Override, Depreca…...

css中的hover用法示例(可以在vue中制作鼠标悬停显示摸个按钮的效果)

css中的hover 1、hover的定义 hover选择器用于选择鼠标指针浮动在上面的元素,它适用于所有元素,可以用来实现类似于js的一些功能。 2.hover的作用 css中hover属性,鼠标移到上面的时候可以激活,它可以实现悬浮元素上改变样式&a…...

labview实现仪器的控制visa

*IDN? 是识别大多数仪器的查询指令。仪器会回应一个用于描述仪器的识别字符串。如果仪器不接受该指令,请在仪器手册中查询仪器能识别的指令列表。 如下图所示: 程序如下:...

说说React Router有几种模式?实现原理?

一、是什么 在单页应用中,一个web项目只有一个html页面,一旦页面加载完成之后,就不用因为用户的操作而进行页面的重新加载或者跳转,其特性如下: 改变 url 且不让浏览器像服务器发送请求在不刷新页面的前提下动态改变浏览器地址栏中的URL地址其中主要分成了两种模式: has…...

laravel5+版本aes128加解密

使用场景: aes/cbc/pkcs5padding/128加解密 EncryptService.php代码示例如下 namespace App\Services;/*** aes/cbc/pkcs5padding/128加解密*/ class EncryptService {//加密方法private static $sDefaultEncMethod AES-128-CBC;//默认key值-自定义16位字符串长度…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来&#xf…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

小木的算法日记-多叉树的递归/层序遍历

🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...