Cursor 与DeepSeek的完美契合

这两天在看清华大学最近出的一个关于deepseek入门的官方视频中,看了几个deepseek的应用场景还是能够感觉到它的强大之处的,例如根据需求生成各种markdown格式的代码,再结合市面上已有的一些应用平台生成非常好看的流程图,PPT,报表等,看到了一个使用Cursor 结合deepseesk 快速生成了几个小工具的例子,感觉还是蛮惊艳的, 然后就下载来试用了下,此时又想起了之前看到的一张图,阿里前端第一人玉伯,语雀创始人发的一条动态。


 

看来Cursor 还不如Devin 高效,先熟悉下 Cursor,后面再试用下Devin

Cursor的安装设置还是很简单的,并且还有两周的免费试用时间,可以加载各种大模型,简单配置即可,然后其实就相当于一个类似Vcode的前端开发工具。

简单让Cursor搭个前端页面,实现基本的增删查改:

一个简单的html 页面几分钟就搞定了,还符合了个人输入的各种诉求,虽然也没有连数据库,没有部署服务这些,但是极大减少了敲代码的时间的。

那么,和测试相关可以做什么呢?实际工作,测试就是集各个岗位功能于一身,自己写需求,自己实现前后端,很多时候感觉花费在前端的时间比后端实现还要多很多,一个因为不熟悉,而是因为页面功能样式老是调来调去,若能借助AI 来减少这部分时间的投入,还是非常可以的。

让deepseek 生成一个上传需求文档,写测试用例的界面


 

明显上面的例子只是简单的文本处理,那么让它使用NLP 来对文本进行分析处理。

这个上下文都还记得,仍然记得但是chatGPT 无法记住前面对话的难用之处。

关于NLP 的常用功能:


 

执行后页面报错:


 

deepseek 又给出了可能的错误信息:

报错排查,完美给出各种可能原因和解决方案,高效呀高效:

发现控制台可以nlp分析的日志了,没有数据:


 

看来这个解析也是有问题:

那么使用deepseek呢?还是很快就给出了实现代码,这里还要用到相关的api key ,要不就是本地部署deepseek来调用本地的接口了,给出的代码实现还是很详细的。

通过调用deepseek 的api接口来生成数据。
 

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>测试用例生成器</title><style>body { font-family: Arial, sans-serif; margin: 20px; }.container { max-width: 800px; margin: 0 auto; }textarea { width: 100%; height: 150px; margin: 10px 0; }.test-case { border: 1px solid #ddd; padding: 15px; margin: 10px 0; }.test-case h3 { margin-top: 0; }.loading { display: none; color: #888; }</style>
</head>
<body><div class="container"><h1>测试用例生成器</h1><div><h2>上传需求文档</h2><input type="file" id="doc-upload" accept=".txt"></div><div><h2>或直接输入需求</h2><textarea id="requirement-input" placeholder="在此输入需求描述..."></textarea><button onclick="handleAnalyze()">生成测试用例</button><div id="loading" class="loading">生成中,请稍候...</div></div><div id="test-cases-container"><h2>生成的测试用例</h2></div></div><script>const DEEPSEEK_API_KEY = 'YOUR_DEEPSEEK_API_KEY'; // 替换为你的 DeepSeek API 密钥const DEEPSEEK_API_URL = 'https://api.deepseek.com/v1/chat/completions'; // DeepSeek API 地址// 全局函数,用于处理分析请求function handleAnalyze() {analyzeRequirement();}// 全局需求分析函数async function analyzeRequirement(input) {const requirement = input || document.getElementById('requirement-input').value;if (!requirement.trim()) {alert('请输入或上传需求文档');return;}try {showLoading(true);const testCases = await generateTestCasesWithDeepSeek(requirement);displayTestCases(testCases);} catch (error) {console.error('生成测试用例失败:', error);alert('生成测试用例失败,请重试');} finally {showLoading(false);}}// 使用 DeepSeek API 生成测试用例async function generateTestCasesWithDeepSeek(requirement) {const prompt = `根据以下需求生成测试用例,格式为:前置条件,执行步骤,预期返回。需求:${requirement}`;const response = await fetch(DEEPSEEK_API_URL, {method: 'POST',headers: {'Content-Type': 'application/json','Authorization': `Bearer ${DEEPSEEK_API_KEY}`},body: JSON.stringify({model: 'deepseek-chat',messages: [{ role: 'user', content: prompt }],max_tokens: 1000})});if (!response.ok) {throw new Error('API 请求失败');}const data = await response.json();const testCasesText = data.choices[0].message.content;return parseTestCasesFromText(testCasesText);}// 解析 DeepSeek 返回的测试用例文本function parseTestCasesFromText(text) {const testCases = [];const lines = text.split('\n');let currentCase = {};lines.forEach(line => {if (line.startsWith('前置条件:')) {currentCase.precondition = line.replace('前置条件:', '').trim();} else if (line.startsWith('执行步骤:')) {currentCase.steps = line.replace('执行步骤:', '').trim();} else if (line.startsWith('预期返回:')) {currentCase.expected = line.replace('预期返回:', '').trim();testCases.push({ ...currentCase, id: testCases.length + 1 });currentCase = {};}});return testCases;}// 显示生成的测试用例function displayTestCases(testCases) {const container = document.getElementById('test-cases-container');container.innerHTML = '<h2>生成的测试用例</h2>';testCases.forEach(testCase => {const testCaseDiv = document.createElement('div');testCaseDiv.className = 'test-case';testCaseDiv.innerHTML = `<h3>测试用例 #${testCase.id}</h3><p><strong>前置条件:</strong>${testCase.precondition}</p><p><strong>执行步骤:</strong>${testCase.steps}</p><p><strong>预期返回:</strong>${testCase.expected}</p>`;container.appendChild(testCaseDiv);});}// 文件上传处理document.getElementById('doc-upload').addEventListener('change', function(event) {const file = event.target.files[0];if (file) {const reader = new FileReader();reader.onload = function(e) {const content = e.target.result;analyzeRequirement(content);};reader.readAsText(file);}});// 显示/隐藏加载状态function showLoading(isLoading) {document.getElementById('loading').style.display = isLoading ? 'block' : 'none';}</script>
</body>
</html>

看到b站有各种关于多少分钟借助Cursor生成小程序上线的视频,还没实践过,但是或许不久的将来,程序员这个岗位,是不是真的要下线了?


 

这篇文章,让deepseek 给我生成个标题,好吧,这是一点都不谦虚,自卖自夸~感觉科技进步带来的就是人的脑子好像都不需要怎么用了,最终决定,还是用我自己随便想的~


 

有时候感觉AI发展日新月异的同时,人在其面前显得十分渺小,也会不断的对个人的价值感产生怀疑,很多事情当你细想的时候就会容易感觉到虚无,好像只能让自己停止去想,才会有动力去做一些看似无意义的事情,maybe 过程很重要,在这个过程中个人的体验也很重要~目前AI 给我的感觉就是能一路见证它的飞飞飞飞飞飞飞飞飞飞飞速发展,然后紧随其后学到点或者知道点什么,也许也是一件还挺有意思的事情吧~

(凌晨2点了,咖啡喝太多的后果~)

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

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

相关文章

【深度学习】13. 图神经网络GCN,Spatial Approach, Spectral Approach

图神经网络 图结构 vs 网格结构 传统的深度学习&#xff08;如 CNN 和 RNN&#xff09;在处理网格结构数据&#xff08;如图像、语音、文本&#xff09;时表现良好&#xff0c;因为这些数据具有固定的空间结构。然而&#xff0c;真实世界中的很多数据并不遵循网格结构&#x…

[Python] 避免 PyPDF2 写入 PDF 出现黑框问题:基于语言自动匹配系统字体的解决方案

在使用 Python 操作 PDF 文件时,尤其是在处理中文、日语等非拉丁字符语言时,常常会遇到一个令人头疼的问题——文字变成“黑框”或“方块”,这通常是由于缺少合适的字体支持所致。本文将介绍一种自动选择系统字体的方式,结合 PyPDF2 模块解决此类问题。 一、问题背景:黑框…

Java求职面试:从核心技术到AI与大数据的全面考核

Java求职面试&#xff1a;从核心技术到AI与大数据的全面考核 第一轮&#xff1a;基础框架与核心技术 面试官&#xff1a;谢飞机&#xff0c;咱们先从简单的开始。请你说说Spring Boot的启动过程。 谢飞机&#xff1a;嗯&#xff0c;Spring Boot启动的时候会自动扫描组件&…

Espresso 是什么

Espresso 是 Android 开发者的首选 UI 测试工具&#xff0c;是 Google 官方推出的 Android 应用 UI 测试框架&#xff0c;专为 白盒测试 设计&#xff0c;强调 速度快、API 简洁&#xff0c;适合开发者在编写代码时同步进行自动化测试。它是 Android Jetpack 测试工具的一部分&…

Axios 如何通过配置实现通过接口请求下载文件

前言 今天&#xff0c;我写了 《Nodejs 实现 Mysql 数据库的全量备份的代码演示》 和 《NodeJS 基于 Koa, 开发一个读取文件&#xff0c;并返回给客户端文件下载》 两篇文章。在这两篇文章中&#xff0c;我实现了数据库的备份&#xff0c;和提供数据库下载等接口。 但是&…

IDEA项目推送到远程仓库

打开IDEA——>VCS——>Creat Git 选择项目 push提交到本地 创建远程仓库 复制地址 定义远程仓库 推送 推送成功

Prompt工程:解锁大语言模型的终极密钥

Prompt工程&#xff1a;解锁大语言模型的终极密钥 一、引言&#xff1a;Prompt的战略价值重构 在人工智能技术加速渗透的2025年&#xff0c;Prompt&#xff08;提示词&#xff09;作为连接人类意图与大语言模型&#xff08;LLM&#xff09;的核心接口&#xff0c;其战略地位已…

架构意识与性能智慧的双重修炼

架构意识与性能智慧的双重修炼 ——现代软件架构师的核心能力建设指南 作者:蓝葛亮 🎯引言 在当今快速发展的技术环境中,软件架构师面临着前所未有的挑战。随着业务复杂度的不断增长和用户对性能要求的日益严苛,如何在架构设计中平衡功能实现与性能优化,已成为每个技术…

Flutter下的一点实践

目录 1、背景2、refena创世纪代码3、localsend里refena的刷新3.1 初始状态3.2 发起设备扫描流程3.3 扫描过程3.3 刷新界面 4.localsend的设备扫描流程4.1 UDP广播设备注册流程4.2 TCP/HTTP设备注册流程4.3 localsend的服务器初始化工作4.4总结 1、背景 在很久以前&#xff0c;…

Allegro 输出生产数据详解

说明 用于PCB裸板的生产可以分别单独创建文件 光绘数据(Gerber)、钻孔(NC Drill)、IPC网表;或者通过ODB++或IPC2581文件(这是一个新格式),它包含生产裸板所需要的所有信息 光绘数据 Artwork Gerber 光绘数据一般包含设计中各个层面的蚀刻线路、阻焊、铅锡、字符等信…

5.LoadBalancer负载均衡服务调用

目录 一、Ribbon目前也进入维护模式 二、spring-cloud-loadbalancer概述 三、spring-cloud-loadbalancer负载均衡解析 1.负载均衡演示案例-理论 2.负载均衡演示案例-实操 按照8001拷贝后新建8002微服务 启动Consul,将8001/8002启动后注册进微服务 Consul数据持久化配置…

linux安装ffmpeg7.0.2全过程

​编辑 白眉大叔 发布于 2025年4月16日 评论关闭 阅读(341) centos 编译安装 ffmpeg 7.0.2 &#xff1a;连接https://www.baimeidashu.com/19668.html 下载 FFmpeg 源代码 在文章最后 一、在CentOS上编译安装FFmpeg 以常见的CentOS为例&#xff0c;FFmpeg的编译说明页面为h…

视频逐帧提取图片的工具

软件功能&#xff1a;可以将视频逐帧提取图片&#xff0c;可以设置每秒提取多少帧&#xff0c;选择提取图片质量测试环境&#xff1a;Windows 10软件设置&#xff1a;由于软件需要通过FFmpeg提取图片&#xff0c;运行软件前请先设置FFmpeg&#xff0c;具体步骤 1. 请将…

java精简复习

MyBatis批量插入 <insert id"batchInsert" parameterType"java.util.List">INSERT INTO users(name, age) VALUES<foreach collection"list" item"item" separator",">(#{item.name}, #{item.age})</foreac…

IP 网段

以下是关于 IP 网段 的详细解析&#xff0c;涵盖基本概念、表示方法、划分规则及实际应用场景&#xff1a; 一、网段核心概念 1. 什么是网段&#xff1f; 网段指一个逻辑划分的 IP 地址范围&#xff0c;属于同一子网的设备可以直接通信&#xff08;无需经过路由器&#xff09…

模型微调参数入门:核心概念与全局视角

一、引言 在深度学习领域&#xff0c;模型微调已成为优化模型性能、适配特定任务的重要手段。无论是图像识别、自然语言处理&#xff0c;还是其他复杂的机器学习任务&#xff0c;合理调整模型参数都是实现卓越性能的关键。然而&#xff0c;模型微调涉及众多参数&#xff0c;这…

端口映射不通的原因有哪些?路由器设置后公网访问本地内网失败分析

本地网络地址通过端口映射出去到公网使用&#xff0c;是较为常用的一种传统方案。然而&#xff0c;很多环境下和很多普通人员在实际使用中&#xff0c;却往往会遇到端口映射不通的问题。端口映射不通的主要原因包括公网IP缺失&#xff08;更换nat123类似映射工具方案&#xff0…

Git Push 失败:HTTP 413 Request Entity Too Large

Git Push 失败&#xff1a;HTTP 413 Request Entity Too Large 问题排查 在使用 Git 推送包含较大编译产物的项目时&#xff0c;你是否遇到过 HTTP 413 Request Entity Too Large 错误&#xff1f;这通常并不是 Git 的问题&#xff0c;而是 Web 服务器&#xff08;如 Nginx&am…

docker-记录一次容器日志<container_id>-json.log超大问题的处理

文章目录 现象一、查找源头二、分析总结 现象 同事联系说部署在虚拟机里面的用docker启动xxl-job的服务不好使了&#xff0c;需要解决一下&#xff0c;我就登陆虚拟机检查&#xff0c;发现根目录满了&#xff0c;就一层一层的找&#xff0c;发现是<container_id>-json.l…

Ubuntu 24.04 LTS 和 ROS 2 Jazzy 环境中使用 Livox MID360 雷达

本文介绍如何在 Ubuntu 24.04 LTS 和 ROS 2 Jazzy 环境中安装和配置 Livox MID360 激光雷达&#xff0c;包括 Livox-SDK2 和 livox_ros_driver2 的安装&#xff0c;以及在 RViz2 中可视化点云数据的过程。同时&#xff0c;我们也补充说明了如何正确配置 IP 地址以确保雷达与主机…