学点儿Java_Day7_在实体类当中IDEA无法进行单元测试(@Test没有启动按钮)

  在敲代码体会继承和访问修饰符的时候忽然遇到了单元测试不管用的情况,表现为没有启动按钮
在这里插入图片描述
  经过一番折腾,发现我的测试是在具有构造函数的实体类Person当中进行的,当我把所有的构造函数删除后,启动按钮又出来了,加上之后又没了。
在这里插入图片描述
  然后我就和ChatGPT发生了如下对话:

  A: 类里边是不是最好不要进行单元测试
  Q: 通常情况下,类本身不应该包含单元测试。单元测试是用来测试类的方法和行为是否符合预期的工具,而不是测试类本身。类应该专注于实现特定的功能或者模型化特定的实体,而不应该包含测试逻辑。

  通常情况下,单元测试应该编写在一个独立的测试类中,测试类中的方法测试目标类的方法和行为。这种做法的好处包括:

  分离关注点(Separation of Concerns): 将测试逻辑与实际的业务逻辑分开,使代码更加清晰和易于维护。

  保持代码整洁(Keep Code Clean): 将测试代码与生产代码分离,有助于保持生产代码的整洁和简单,减少混乱和不必要的复杂性。

  提高可测试性(Improve Testability): 将测试代码放在单独的测试类中,可以更轻松地编写和运行测试,提高代码的可测试性。

  符合测试驱动开发(TDD)原则: 测试驱动开发强调先编写测试,再编写实现代码。将测试代码与生产代码分开,有助于更好地实践TDD原则。

  因此,最好的做法是将单元测试代码放在单独的测试类中,测试目标类的方法和行为,而不是将测试逻辑直接写在目标类中。
在这里插入图片描述
  嗯,就是这么神奇,这个解释我也勉强接受吧,以后注意就好了

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

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

相关文章

UNI-APP读取本地JSON数据

首先要把json文件放在static文件夹下 然后在要读取数据的页面导入 import data from ../../static/data.json读取数据: onLoad() {console.log(data, data)}, 打印出来的就是JSON文件里的数据了

termux+ubuntu使用笔记

文章目录 termuxtermux自动启动服务的方法1. 写.bashrc文件2. 利用termux-services来实现 安装sshtermux 执行定时任务 ubuntu参考文章 这里仅针对自己在使用过程所做的笔记 termux环境下搭建Ubuntu环境可以参考:https://github.com/MFDGaming/ubuntu-in-termux上提…

Qt播放音乐代码示例

主界面 点击play按钮播放或暂停音乐,拖动进度条,音乐对应播放。 QWidget window;QPushButton* playButton new QPushButton("Play");// Qt 播放音乐// 创建 QMediaPlayer 对象QMediaPlayer* player new QMediaPlayer;// 指定音频文件的路径…

iOS UIFont-新增第三方字体

背景 在项目中添加三方字体,是在开发中比较常见的需求,每次新增字体,都会遗忘其中某个步骤,又要去百度一下才能把字体添加使用成功。每次这样有点浪费时间和打击自信,于是便想着,自己好好来理一理新增字体…

Oracle Data Guard常用命令

--查询数据库角色和保护模式 select database_role,switchover_status from v$database; --切换备库为主库(切换后,主库为mount状态) --TO PRIMARY alter database commit to switchover to primary; --SESSIONS ACTIVE alter database comm…

Java八股文(秒杀)

Java八股文の秒杀 秒杀 秒杀 你对秒杀功能模块的理解是什么?你认为秒杀功能的关键点是什么? ○ 秒杀功能模块是指在一段时间内,将某个商品以非常优惠的价格或特殊活动进行销售,从而吸引大量用户抢购。其关键点是高并发的请求处理…

hadoop基本概念

一、概念 Hadoop 是一个开源的分布式计算和存储框架。 Hadoop 使用 Java 开发,所以可以在多种不同硬件平台的计算机上部署和使用。其核心部件包括分布式文件系统 (Hadoop DFS,HDFS) 和 MapReduce。 二、HDFS 命名节点 (NameNode) 命名节点 (NameNod…

一文详解Rust中的字符串

有人可能会说,字符串这么简单还用介绍?但是很多人学习rust受到的第一个暴击就来自这浓眉大眼、看似毫无难度的字符串。 请看下面的例子。 fn main() {let my_name "World!";greet(my_name); }fn greet(name: String) {println!("Hello…

rabbitmq 3.9.29 docker mac 管理员页面无法打开

SyntaxError: Unexpected token ‘catch’ SyntaxError: Unexpected token ‘catch’ at EJS.Compiler.compile (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:6659) at new EJS (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:1625) at format (http://127.0.0.1:15672/js/main…

CICD流水线(ali)

后端CICD 一、打开云效流水线,创建流水线

2024年企业级通用人工智能的关键技术趋势

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

UDS升级入门,手把手教你——QT上位机开发1

上位机开发1 QT环境: 1、环境搭建 需要用到周立功 相关接口,拿到库文件,进行二次开发 使用以下文件 新建立一个工程,或者网找一个demo工程,在原有的基础进行开发(建议使用第二种)。 并…