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

news2024/12/23 17:32:46

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_list
    else:
        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_var

class 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 功能,阅读开源代码的时候如同有一个老师在身旁, 更加有底气。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1203284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快速拉取聚水潭单据的ETL工具

聚水潭介绍 聚水潭平台则是国内较为出名的电商ERP平台,为企业提供了便捷的销售和管理服务,专注于提高交易效率,但是如何将数据快速同步到其他系统一直是很多企业的痛点。 ETLCloud数据集成平台提供了丰富的数据分析工具和算法模型&#xff…

Oracle 账户被锁:the account is locked 解决方法

Oracle 账户被锁:the account is locked 解决方法 连接Oracle数据库时报错账户已锁定错误 解决方法一:命令行模式: 步骤一: WinR打开命令行输入:sqlplus 使用system或sys账户以管理员身份登录,口令即安装…

MySQL如何查找删除重复行?

如何查找重复行 第一步是定义什么样的行才是重复行。多数情况下很简单:它们某几列具有相同的值。本例采用这种定义,或许你对“重复”的定义得很复杂,你需要对sql做些修改。本例要用到的数据样本: create table test(id int not …

学用 DevChat 的 VSCode 插件,体验AI智能编程工具 (一)

简单说DevChat是一个辅助编程的智能工具,它可以通过自然语言对话的方式与开发者进行交流,帮助开发者更高效地完成编程任务。 有了人工智能工具,编程进入一个新天地。 闻名已久,不若体验一下。 一.准备工作 1.运行环境. A. p…

MS512非接触式读卡器 IC

MS512 是一款应用于 13.56MHz 非接触式通信中的高集 成度读写卡芯片。它利用了先进的调制和解调技术,完全集 成了在 13.56MHz 下的各种非接触式通信方式和协议。 主要特点  高度集成的解调和解码模拟电路  采用少量外部器件,即可将输出驱动级接…

如何使用群晖虚拟机部署本地网页文件实现公网远程访问?

文章目录 前言1. 安装网页运行环境1.1 安装php1.2 安装webstation 2. 下载网页源码文件2.1 访问网站地址并下载压缩包2.2 解压并上传至群辉NAS 3. 配置webstation3.1 配置网页服务3.2 配置网络门户 4. 局域网访问静态网页配置成功5. 使用cpolar发布静态网页,实现公网…

本地PHP搭建简单Imagewheel私人云图床,在外远程访问——“cpolar内网穿透”

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

互联网金融P2P主业务场景自动化测试

互联网金融P2P行业,近三年来发展迅速,如火如荼。 据不完全统计,全国有3000的企业。 “互联网”企业,几乎每天都会碰到一些奇奇怪怪的bug,作为在互联网企业工作的测试人员,风险和压力都巨大。那么我们如何降…

学习c#的第九天

目录 C# 可空类型(Nullable) C# 可空类型(Nullable) Null 合并运算符( ?? ) C# 数组(Array) 一维数组 声明及初始化赋值数组 多维数组 声明和初始化多维数组 访问和操作多…

【备忘】在Nginx服务器安装SSL证书

您可以在Nginx或Tengine服务器上安装SSL证书,实现通过HTTPS安全访问Web服务器。本文介绍如何为Nginx或Tengine服务器安装SSL证书。 重要 本文以CentOS 8.0 64位操作系统、Nginx 1.14.2为例介绍。不同版本的操作系统或Web服务器,部署操作可能有所差异&a…

<MySQL> MySQL中查询(retrieve)数据的基础操作

目录 一、查询(retrieve) 1.1 查询数据的方式概述 二、全列查询 2.1 语法 2.2 操作演示 2.3 全列查询需要慎重使用 三、指定列查询 3.1 语法 3.2 操作演示 四、表达式查询 4.1 语法 4.2 操作演示 4.3 null 参与表达式计算 4.3 表达式查询存…

2023前端流行的新技术

作为2023年之前的技术水平有限,以下是一些目前为止较为热门的前端开发技术和趋势,这些技术可能在2023年之前进一步发展和普及。 前端程序员可以考虑学习和掌握以下技术: 1.Vue 3和React Hooks:Vue.js和React是目前最受欢迎的JavaS…

Layer 2 真的为以太坊扩容了吗?

构建一个安全、对用户友好的去中心化网络的愿景,依赖于关键基础设施的发展。这个愿景由一个共享的经济框架支持,得到了亿万人的拥护。Layer 2 的扩展解决方案在构建这一基础和增强以太坊的能力方面起着至关重要的作用。这些项目相互协作,形成…

抢疯了!OpenAI开出1000万美元天价年薪 北大AI博士未毕业拿百万offer

图片 抢疯了,抢疯了!OpenAI和谷歌的抢人大战,已经进入白热化。 OpenAI给谷歌员工抛出了终极诱惑——500万到1000万美元的年薪!以及来自微软的用不完的算力! 图片 这不,谷歌复仇神器Gemini模型的关键研究…

【python】Django——django简介、django安装、创建项目、快速上手

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ Django基础——django安装、创建django项目、django快速上手 django简介django安装1. conda创建环境pydjango2. pip安装django3. django目录 创建项目1. 打开终端(cmd)2. 进入某个目录3.创建项目命令4.django项目…

网络问题导致pycharm无法提交代码到代码仓库

现象 ssh: Could not resolve hostname github.com: Name or service not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 原因及解决办法 可能不是自己权限有问题,而是…

网站定制开发的流程|软件app小程序开发定制

网站定制开发的流程|软件app小程序开发定制 网站定制开发是一个为个体或企业创建定制化网站的过程。它涉及到规划、设计、开发和测试等一系列步骤,以满足客户的需求和目标。下面是网站定制开发的基本流程。 1. 需求分析:首先,与客户沟通并了解…

Qt高级--(1)自定义导航栏

好久没有水博客,参考别人的写一个自定义的导航栏吧。用处挺多的,可以用来切换到不同的信息显示界面。 功能点 1.默认情况下,文字居中显示,不显示图标,不显示三角。 2.可设置文字左侧、顶部、右侧、底部边距&#xff…

k8s系列文章二:集群配置

一、关闭交换分区 # 临时关闭分区 swapoff -a # 永久\关闭自动挂载swap分区 sudo sed -i / swap / s/^\(.*\)$/#\1/g /etc/fstab 二、修改cgroup管理器 ubuntu 系统,debian 系统,centos7 系统,都是使用 systemd 初始化系统的。systemd 这边…

行业追踪,2023-11-13

自动复盘 2023-11-13 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…