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

测试类运行失败:TestEngine with ID ‘junit-jupiter‘ failed to discover tests

背景:原本我的项目是可以运行的,然后我用另外一台电脑拉了下来,也是可以用的,但是很奇怪,用着用着就不能用了。报了以下错误:

/Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=57098:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/shaonaiyi/.m2/repository/org/junit/platform/junit-platform-launcher/1.8.2/junit-platform-launcher-1.8.2.jar:/Users/shaonaiyi/.m2/repository/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.jar:/Users/shaonaiyi/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/Users/shaonaiyi/.m2/repository/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar:/Users/shaonaiyi/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/junit/lib/junit5-rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/shaonaiyi/IdeaProjects/mybatis-plus-learning/demo/target/test-classes:/Users/shaonaiyi/IdeaProjects/mybatis-plus-learning/demo/target/classes:/Users/shaonaiyi/app/mvn_repos/org/springframework/boot/spring-boot-starter/2.7.13/spring-boot-starter-2.7.13.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/boot/spring-boot/2.7.13/spring-boot-2.7.13.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-context/5.3.28/spring-context-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-aop/5.3.28/spring-aop-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-beans/5.3.28/spring-beans-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-expression/5.3.28/spring-expression-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/boot/spring-boot-autoconfigure/2.7.13/spring-boot-autoconfigure-2.7.13.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/boot/spring-boot-starter-logging/2.7.13/spring-boot-starter-logging-2.7.13.jar:/Users/shaonaiyi/app/mvn_repos/ch/qos/logback/logback-classic/1.2.12/logback-classic-1.2.12.jar:/Users/shaonaiyi/app/mvn_repos/ch/qos/logback/logback-core/1.2.12/logback-core-1.2.12.jar:/Users/shaonaiyi/app/mvn_repos/org/apache/logging/log4j/log4j-to-slf4j/2.17.2/log4j-to-slf4j-2.17.2.jar:/Users/shaonaiyi/app/mvn_repos/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2.jar:/Users/shaonaiyi/app/mvn_repos/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar:/Users/shaonaiyi/app/mvn_repos/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-core/5.3.28/spring-core-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-jcl/5.3.28/spring-jcl-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/yaml/snakeyaml/1.30/snakeyaml-1.30.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/boot/spring-boot-starter-test/2.7.13/spring-boot-starter-test-2.7.13.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/boot/spring-boot-test/2.7.13/spring-boot-test-2.7.13.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/boot/spring-boot-test-autoconfigure/2.7.13/spring-boot-test-autoconfigure-2.7.13.jar:/Users/shaonaiyi/app/mvn_repos/com/jayway/jsonpath/json-path/2.7.0/json-path-2.7.0.jar:/Users/shaonaiyi/app/mvn_repos/net/minidev/json-smart/2.4.11/json-smart-2.4.11.jar:/Users/shaonaiyi/app/mvn_repos/net/minidev/accessors-smart/2.4.11/accessors-smart-2.4.11.jar:/Users/shaonaiyi/app/mvn_repos/org/ow2/asm/asm/9.3/asm-9.3.jar:/Users/shaonaiyi/app/mvn_repos/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/Users/shaonaiyi/app/mvn_repos/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar:/Users/shaonaiyi/app/mvn_repos/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar:/Users/shaonaiyi/app/mvn_repos/org/assertj/assertj-core/3.22.0/assertj-core-3.22.0.jar:/Users/shaonaiyi/app/mvn_repos/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar:/Users/shaonaiyi/app/mvn_repos/org/junit/jupiter/junit-jupiter/5.8.2/junit-jupiter-5.8.2.jar:/Users/shaonaiyi/app/mvn_repos/org/junit/jupiter/junit-jupiter-api/5.8.2/junit-jupiter-api-5.8.2.jar:/Users/shaonaiyi/app/mvn_repos/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/Users/shaonaiyi/app/mvn_repos/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar:/Users/shaonaiyi/app/mvn_repos/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/Users/shaonaiyi/app/mvn_repos/org/junit/jupiter/junit-jupiter-params/5.8.2/junit-jupiter-params-5.8.2.jar:/Users/shaonaiyi/app/mvn_repos/org/junit/jupiter/junit-jupiter-engine/5.8.2/junit-jupiter-engine-5.8.2.jar:/Users/shaonaiyi/app/mvn_repos/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.jar:/Users/shaonaiyi/app/mvn_repos/org/mockito/mockito-core/4.5.1/mockito-core-4.5.1.jar:/Users/shaonaiyi/app/mvn_repos/net/bytebuddy/byte-buddy/1.12.23/byte-buddy-1.12.23.jar:/Users/shaonaiyi/app/mvn_repos/net/bytebuddy/byte-buddy-agent/1.12.23/byte-buddy-agent-1.12.23.jar:/Users/shaonaiyi/app/mvn_repos/org/objenesis/objenesis/3.2/objenesis-3.2.jar:/Users/shaonaiyi/app/mvn_repos/org/mockito/mockito-junit-jupiter/4.5.1/mockito-junit-jupiter-4.5.1.jar:/Users/shaonaiyi/app/mvn_repos/org/skyscreamer/jsonassert/1.5.1/jsonassert-1.5.1.jar:/Users/shaonaiyi/app/mvn_repos/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-test/5.3.28/spring-test-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/xmlunit/xmlunit-core/2.9.1/xmlunit-core-2.9.1.jar:/Users/shaonaiyi/app/mvn_repos/com/baomidou/mybatis-plus-boot-starter/3.5.1/mybatis-plus-boot-starter-3.5.1.jar:/Users/shaonaiyi/app/mvn_repos/com/baomidou/mybatis-plus/3.5.1/mybatis-plus-3.5.1.jar:/Users/shaonaiyi/app/mvn_repos/com/baomidou/mybatis-plus-extension/3.5.1/mybatis-plus-extension-3.5.1.jar:/Users/shaonaiyi/app/mvn_repos/com/baomidou/mybatis-plus-core/3.5.1/mybatis-plus-core-3.5.1.jar:/Users/shaonaiyi/app/mvn_repos/com/baomidou/mybatis-plus-annotation/3.5.1/mybatis-plus-annotation-3.5.1.jar:/Users/shaonaiyi/app/mvn_repos/com/github/jsqlparser/jsqlparser/4.3/jsqlparser-4.3.jar:/Users/shaonaiyi/app/mvn_repos/org/mybatis/mybatis/3.5.9/mybatis-3.5.9.jar:/Users/shaonaiyi/app/mvn_repos/org/mybatis/mybatis-spring/2.0.6/mybatis-spring-2.0.6.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/boot/spring-boot-starter-jdbc/2.7.13/spring-boot-starter-jdbc-2.7.13.jar:/Users/shaonaiyi/app/mvn_repos/com/zaxxer/HikariCP/4.0.3/HikariCP-4.0.3.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-jdbc/5.3.28/spring-jdbc-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/springframework/spring-tx/5.3.28/spring-tx-5.3.28.jar:/Users/shaonaiyi/app/mvn_repos/org/projectlombok/lombok/1.18.28/lombok-1.18.28.jar:/Users/shaonaiyi/app/mvn_repos/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 com.shaonaiyi.demo.DemoApplicationTests,testSelectList
Internal Error occurred.
org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover testsat org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:160)at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverSafely(EngineDiscoveryOrchestrator.java:134)at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:108)at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:80)at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:110)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.junit.platform.commons.JUnitException: ClassSelector [className = 'com.shaonaiyi.demo.DemoApplicationTests'] resolution failedat org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener.selectorProcessed(AbortOnFailureLauncherDiscoveryListener.java:39)at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:102)at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.run(EngineDiscoveryRequestResolution.java:82)at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.resolve(EngineDiscoveryRequestResolver.java:113)at org.junit.jupiter.engine.discovery.DiscoverySelectorResolver.resolveSelectors(DiscoverySelectorResolver.java:46)at org.junit.jupiter.engine.JupiterTestEngine.discover(JupiterTestEngine.java:69)at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:152)... 13 more
Caused by: org.junit.platform.commons.PreconditionViolationException: Could not load class with name: com.shaonaiyi.demo.DemoApplicationTestsat org.junit.platform.engine.discovery.ClassSelector.lambda$getJavaClass$0(ClassSelector.java:75)at org.junit.platform.commons.function.Try$Failure.getOrThrow(Try.java:335)at org.junit.platform.engine.discovery.ClassSelector.getJavaClass(ClassSelector.java:74)at org.junit.jupiter.engine.discovery.ClassSelectorResolver.resolve(ClassSelectorResolver.java:66)at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.lambda$resolve$2(EngineDiscoveryRequestResolution.java:134)at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1632)at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:185)at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:125)at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:91)... 18 more
Caused by: java.lang.ClassNotFoundException: com.shaonaiyi.demo.DemoApplicationTestsat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)at org.junit.platform.commons.util.ReflectionUtils.lambda$tryToLoadClass$9(ReflectionUtils.java:829)at org.junit.platform.commons.function.Try.lambda$call$0(Try.java:57)at org.junit.platform.commons.function.Try.of(Try.java:93)at org.junit.platform.commons.function.Try.call(Try.java:57)at org.junit.platform.commons.util.ReflectionUtils.tryToLoadClass(ReflectionUtils.java:792)at org.junit.platform.commons.util.ReflectionUtils.tryToLoadClass(ReflectionUtils.java:748)... 33 more

网上的很多方法都试过了,什么加依赖,排除依赖之类的,但是其实这样的错误,不应该关心项目本身的问题,因为它在另外一台电脑是可以跑的,所以考虑的话可以考虑环境,比如Maven版本、配置、依赖之类的。

最终解决办法:在IDEA中操作一下就可以了,先mvn clean一下Maven依赖,然后再mvn install一下,注意,一定要install,只clean是不行的。

但是,又发现了一个新的问题,测试时,只能新增、查看,不能删除和修改😂😂😂…

尝试加上@Rollback(false),也不生效,删除时影响行数是0,修改时影响行数是1,但结果就是不一样。

相关文章:

测试类运行失败:TestEngine with ID ‘junit-jupiter‘ failed to discover tests

背景:原本我的项目是可以运行的,然后我用另外一台电脑拉了下来,也是可以用的,但是很奇怪,用着用着就不能用了。报了以下错误: /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home/bin/java …...

nodejs使用node-cron实现定时任务功能

ChatGPT国内站点:海鲸AI 在Node.js中,node-cron是一个轻量级的任务调度库,它允许你根据类似于Cron的时间表来安排任务的执行。如果你想要每十分钟执行一次任务,你可以按照以下步骤来设置: 安装node-cron: 如…...

【1day】蓝凌OA 系统datajson.js接口远程命令执行漏洞学习

注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞概述 二、影响版本 三、资产测绘 四、漏洞复现...

ABCDE类网络的划分及保留网段

根据IP地址的分类,IP地址被分为A、B、C、D和E五类。下面是对ABCDE类网络的划分及保留网段的详细描述: A类网络:范围从1.0.0.0到127.0.0.0,网络地址的最高位必须是“0”,可用的A类网络有127个,每个网络能容…...

营销系统规则引擎

一、系统介绍 规则引擎是一个用于执行营销规则的模块,其包括营销规则配置、规则校验等功能。规则引擎可以根据预先设定的条件和逻辑,自动化地执行特点的营销策略,帮助企业更好地吸引客户,增加销售和提高客户满意度。 规则引擎功能…...

【Linux】命令行参数

文章目录 前言一、C语言main函数的参数二、环境变量总结 前言 我们在Linux命令行输入命令的时候,一般都会跟上一些参数选项,比如l命令,ls -a -l。以前我总是觉得这是理所当然的,没深究其本质究竟是什么,今天才终于知道…...

【信息安全】-个人敏感信息、个人信息、个人金融信息

文章目录 个人敏感信息个人敏感信息判定举例 个人信息个人信息判定举例 个人金融信息内容a) 账户信息指账户及账户相关信息b) 鉴别信息c) 金融交易信息d) 个人身份信息e) 财产信息f) 借贷信息g) 其他信息: 出处 个人敏感信息 个人敏感信息判定 个人敏感信息是指一旦泄露、非法…...

海外服务器和国内服务器有什么样的区别呢

海外服务器和国内服务器有什么样的区别呢,其实呢在外形方面是大同小异,除了外形还有一些其他方面还存在这一些差异。 一,地理位置的差异。 海外服务器——有可能在中国数据中心之外的任何国家地区,例如美国服务器,韩…...

电脑屏幕亮度怎么调?学会4个方法,轻松调节亮度!

“我总是感觉我电脑屏幕太暗了,有时候如果光线好一点,会看不清电脑屏幕。有什么可以把电脑调亮一点的简单方法吗?” 在我们的日常生活中,电脑已经成为我们工作、学习、娱乐不可或缺的工具。然而,长时间面对电脑屏幕可能…...

微信小程序之猜数字和猜拳小游戏

目录 效果图 app.json 一、首页(index3)的代码 wxml代码 wxss代码 二、猜数字页面(index)代码 wxml代码 wxss代码 js代码 三.游戏规则页面(logs)代码 wxml代码 wxss代码 四.猜拳页面&#xff…...

CETN01 - How to Use Cloud Classroom

文章目录 I. Introduction to Cloud ClassroomII. How to Use Cloud Classroom1. Publish Resources2. Conduct Activities3. Class Teaching Reports4. View Experience Values5. Performance in Cloud Classroom I. 云课堂介绍II. 如何使用云课堂1. 发布资源2. 进行活动3. 班…...

安卓8预装可卸载应用

环境 系统:Android 8 CPU:MTK 理论上改法适用于其他平台,比如展讯。 不适用于安卓11。安卓11请参照android 11预装APP到data/app目录 实现 假设要内置test这个应用。 第一步把test添加到系统编译配置中,不同平台或cpu文件不一样。 比如&am…...

微服务实战系列之MemCache

前言 书接前文,马不停蹄,博主继续书写Cache的传奇和精彩。 Redis主要用于数据的分布式缓存,通过设置缓存集群,实现数据的快速响应,同时也解决了缓存一致性的困扰。 EhCache主要用于数据的本地缓存,因无法保…...

解决服务端渲染程序SSR运行时报错: ReferenceError: document is not defined

现象: 原因: 该错误表明在服务端渲染 (SSR) 过程中,有一些代码尝试在没有浏览器环境的情况下执行与浏览器相关的操作。这在服务端渲染期间是一个常见的问题,因为在服务端渲染期间是没有浏览器 API。 解决办法: 1. 修…...

【漏洞复现】狮子鱼任意文件上传漏洞

漏洞描述 狮子鱼CMS(Content Management System)是一种网站管理系统,旨在帮助用户更轻松地创建和管理网站。它具有用户友好的界面和丰富的功能,包括页面管理、博客、新闻、产品展示等。 狮子鱼CMS使用简单直观的管理界面,使得网站所有者可以方便地进行内容的发布、管理和…...

LINUX 下部署github仓库

打开tumx django-admin startproject project_name #创建django项目 project_name配置git ssh-keygen # 生成密钥 连接 github 在github中打开setting 添加密钥 并且允许 write access git init # 把当前文件夹配置为git仓库 git config --global user.name xxx git config --g…...

CentOS中安装数据库

1.下载 网址:https://dev.mysql.com/downloads/mysql/ 按如图选择,然后点击Download 这里它让我们登录,我们直接选择不登录,直接下载 2.关闭防火墙 systemctl disable firewalld3.正式安装 切换到/usr/local下 cd /usr/l…...

GPT-Crawler一键爬虫构建GPTs知识库

GPT-Crawler一键爬虫构建GPTs知识库 写在最前面安装node.js安装GPT-Crawler启动爬虫结合 OpenAI自定义 assistant自定义 GPTs(笔者用的这个) 总结 写在最前面 GPT-Crawler一键爬虫构建GPTs知识库 能够爬取网站数据,构建GPTs的知识库&#xf…...

在微信小程序中如何改变默认打开的页面

在微信小程序中,在我们编写页面的时候,可能会在重新渲染的时候导致页面跳转到默认打开的页面上,为了提升用户的一个体验,我们可以设置一些内容来修改小程序默认打开的页面,提升开发者的开发体验。 当我们打开一个微信…...

Ardupilot开源飞控之VTOL之旅:配件试装

Ardupilot开源飞控之VTOL之旅:配件试装 1. 源由2. 分析2.1 【修改使用】FC & PDB & GPS打印件2.2 【直接使用】VTX & CRSF打印件 3. 试装3.1 【结构】问题1:GPS座子尺寸非常紧凑,需要用力压入卡座内。3.2 【结构】问题2&#xff…...

基于stm32的感应式路灯(有完整资料)

编号:CJ-32-2022-158 设计简介: 本设计是基于stm32的感应式路灯设计,主要实现以下功能: 1,本设计中采用STM32F103C6T6单片机作为控制核心。 2,可通过按键设置时间、切换模式、调整灯亮度等。 3&#xff0…...

3分钟搞定京东自动抢购:Python工具终极完整指南

3分钟搞定京东自动抢购:Python工具终极完整指南 【免费下载链接】autobuy-jd 使用python语言的京东平台抢购脚本 项目地址: https://gitcode.com/gh_mirrors/au/autobuy-jd 还在为京东秒杀总是抢不到而烦恼吗?手动操作总是慢人一步,眼…...

PCIe时钟生成器设计:挑战、优化与工程实践

1. PCIe时钟生成器的设计挑战与技术演进PCI Express(PCIe)作为现代计算系统的核心互连技术,其时钟生成器的设计直接关系到整个系统的稳定性和性能表现。随着PCIe标准从Gen1发展到Gen3,数据速率从2.5GT/s提升到8GT/s,时…...

Agent 工具调用链路的稳定性设计:从触发决策到异常兜底的工程实践

在构建基于 Agent 的 AI 应用时,工具调用链路是核心能力之一。我们曾遇到一个典型问题:用户提问“帮我查一下昨天北京天气”,Agent 判断应调用天气工具,但实际未执行任何操作,既未返回错误也未返回结果,前端…...

基于拓扑结构的多智能体协同系统:从概念到工程实践

1. 项目概述:从单体智能到协同网络的范式演进最近在开源社区里,一个名为agentopology/agentopology的项目引起了我的注意。乍一看这个名字,结合了“Agent”(智能体)和“Topology”(拓扑)&#x…...

程序员的副业天花板:靠接私活实现年入百万的秘诀

在互联网技术飞速发展的今天,软件测试作为保障软件质量的关键环节,其重要性日益凸显。对于软件测试从业者而言,除了在企业中深耕本职工作,利用专业技能开展副业,实现年入百万并非遥不可及的梦想。本文将从专业角度&…...

别再只会按回车了!ChatGPT换行、分段、写代码的3种正确姿势(含移动端技巧)

ChatGPT高效输入指南:从换行技巧到结构化表达的艺术 在数字创作与AI交互的时代,每个按键背后都藏着提升效率的秘密。当大多数人还在用原始的单行输入与ChatGPT对话时,掌握格式化输入技巧的用户已经获得了截然不同的交互体验——他们的代码保持…...

高性能鼠标跟随动画实现:从基础原理到mouse-follower库实战

1. 项目概述:一个丝滑的鼠标跟随器最近在重构一个个人作品集网站,想在交互细节上增加一些趣味性和现代感。一个常见的想法是:让鼠标光标不再是那个单调的箭头或小手,而是变成一个自定义的、带有动效的图形,并且这个图形…...

工业意识:08 工厂为什么开始用手机监控?远程 SCADA 全解析

08 工厂为什么开始用手机监控?远程 SCADA 全解析 前面七篇咱们把监控大脑从车间大屏聊到汽车总装Andon,现在终于“长翅膀”了——老板在家沙发刷手机、工程师高铁上喝咖啡看数据、维修小哥工地巡检掏出平板,厂里啥情况一目了然!质量问题还想躲?手机叮一声报警推送,MES自…...

还在手动逐帧做抖音视频转文字?2026年这5款工具,1分钟搞定万字转写省3小时

开完2小时部门会,你留下来对着录音逐句整理纪要,3小时过去才敲了一半;做内容博主转抖音口播脚本,手动逐帧倒放听,耳机戴得耳朵疼,错字还一堆;访谈完嘉宾,几小时的录音要赶稿子&#…...