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

博客系统之单元测试

对博客系统进行单元测试

1、测试查找已存在的用户

测试名称

selectByUsernameTest01

测试源码

 

//查找用户,存在
@Test
public void selectByUsernameTest01 () {
UserDao userDao = new UserDao();
String ret1 = userDao.selectByUsername("张三").toString();
System.out.println("test01:" + ret1);
Assert.assertEquals("User{id=1, username='张三', password='123456'}",ret1);
}

测试结果

预期结果

User{id=1, username='张三', password='123456'}

实际结果

User{id=1, username='张三', password='123456'}

2、测试查找不存在的用户

测试名称

selectByUsernameTest02

测试源码

//查找不存在用户
@Test
public void selectByUsernameTest02 () {
UserDao userDao = new UserDao();
User user = userDao.selectByUsername("admin");
String ret2;
if(user!=null){
ret2 = user.toString();
}else{
ret2 =null;
}
System.out.println("test02:" + ret2);
Assert.assertEquals(null,ret2);
}

测试结果

预期结果

null

实际结果

null

3、通过id查找已存在用户

测试名称

selectByIdTest03

测试源码

//通过id查找用户存在
@Test
public void selectByIdTest03 () {
UserDao userDao = new UserDao();
String ret3 = userDao.selectById(1l).toString();
System.out.println("test03:" + ret3);
Assert.assertEquals("User{id=1, username='张三', password='123456'}",ret3);
}

测试结果

预期结果

User{id=1, username='张三', password='123456'}

实际结果

User{id=1, username='张三', password='123456'}

4、通过id查找不存在用户

测试名称

selectByIdTest04

测试源码

//通过id查找不存在用户
@Test
public void selectByIdTest04 () {
UserDao userDao = new UserDao();
User user = userDao.selectById(15l);
String ret4;
if(user!=null){
ret4 = user.toString();
Assert.assertEquals(null,ret4);
}else{
ret4 = null;
}
System.out.println("test02:" + ret4);
Assert.assertEquals(null,ret4);
}

测试结果

预期结果

null

实际结果

null

5、查找所有博客

测试名称

selectAll()

测试源码

//查找所有博客
@Test
public void selectAll() {
BlogDao blogDao = new BlogDao();
String ret5;
if(blogDao.selectAll()!=null){
ret5 = "查询成功";
}else{
ret5 = "查询失败";
}
System.out.println("test05:" + ret5);
Assert.assertEquals("查询成功",ret5);
}

测试结果

预期结果

查询成功

实际结果

查询成功

6、通过id查找存在的博客

测试名称

selectById ()

测试源码

//查找id为1的博客
@Test
public void selectById () {
BlogDao blogDao = new BlogDao();
Blog blog= blogDao.selectById(1l);
String ret6;
if(blog!= null){
ret6 = blog.toString();
}else{
ret6 = null;
}
System.out.println("test06:" + ret6);
Assert.assertEquals("Blog{id=1, title='第一篇博客', content='1234567890v20230710', createTime=2023-07-10 00:00:00.0, userId=1}",ret6);
}

测试结果

预期结果

Blog{id=1, title='单元测试', content='内容', createTime=2023-08-05 17:34:00.0, userId=1}

实际结果

Blog{id=1, title='单元测试', content='内容', createTime=2023-08-05 17:34:00.0, userId=1}

7、通过id查找不存在的博客

测试名称

selectById02

测试源码

//查找id为15的博客,不存在
@Test
public void selectById02 () {
BlogDao blogDao = new BlogDao();
Blog blog= blogDao.selectById(15l);
String ret7;
if(blog != null){
ret7 = blogDao.toString();
}else{
ret7 = "该id博客不存在";
}
System.out.println("test07:" + ret7);
Assert.assertEquals("该id博客不存在",ret7);
}

测试结果

预期结果

该id博客不存在

实际结果

该id博客不存在

8、添加一条博客

测试名称

insertTest ()

测试源码

//添加一条博客
@Test
public void insertTest () {
Blog blog = new Blog();
blog.setTitle("单元测试666");
blog.setContent("单元测试666单元测试666单元测试666单元测试666");
blog.setCreateTime(new Timestamp(System.currentTimeMillis()));
blog.setUserId(1l);
// 写入
BlogDao blogDao = new BlogDao();
int row = blogDao.insert(blog);
String ret8;
if (row==1){
ret8 = "添加成功";
}else {
ret8 = "添加失败";
}
System.out.println("test08:" + ret8);
Assert.assertEquals("添加成功",ret8);
}

测试结果

预期结果

添加成功

实际结果

添加成功

9、删除一条存在的博客

测试名称

deleteTest1

测试源码

//删除一条博客
@Test
public void deleteTest1 () {
BlogDao blogDao = new BlogDao();
int row = blogDao.deleteById(6l);
String ret9;
if (row==1){
ret9 = "删除成功";
}else {
ret9 = "删除失败";
}
System.out.println("test09:" + ret9);
Assert.assertEquals("删除成功",ret9);
}

测试结果

预期结果

删除成功

实际结果

删除成功

10、删除一条不存在的博客

测试名称

deleteTest2

测试源码

//删除一条博客
@Test
public void deleteTest2 () {
BlogDao blogDao = new BlogDao();
int row = blogDao.deleteById(20l);
String ret10;
if (row==1){
ret10 = "删除成功";
}else {
ret10 = "删除失败";
}
System.out.println("test10:" + ret10);
Assert.assertEquals("删除失败",ret10);
}

测试结果

预期结果

删除失败

实际结果

删除失败

 

 

 

相关文章:

博客系统之单元测试

对博客系统进行单元测试 1、测试查找已存在的用户 测试名称 selectByUsernameTest01 测试源码 //查找用户,存在 Test public void selectByUsernameTest01 () { UserDao userDao new UserDao(); String ret1 userDao.selectByUsername("张三").toStr…...

【ARM v8】如何在ARM上实现x86的rdtsc()函数

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…...

redis--事务

redis事务 在Redis中,事务是一组原子性操作的集合,它们被一起执行,要么全部执行成功,要么全部回滚。虽然Redis的事务并不遵循传统数据库的ACID特性,但它仍然提供了一种将多个命令打包成一组执行的机制,适用…...

111. 二叉树的最小深度

111. 二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeN…...

SpringMVC归纳与总结

前言 Spring的核心是IOC,一种依赖反转的解耦思想。MVC是一种处理Web请求的架构模式,当两者的作用结合,就形成了SpringMVC。 组成及运行原理 1. 两次映射 2. 为什么用适配器模式 过滤器与拦截器 1. 范围 静态资源与动态资源2. 生命周期…...

Python学习笔记_进阶篇(三)_django知识(二)

本章内容 Django model Model 基础配置 django默认支持sqlite&#xff0c;mysql, oracle,postgresql数据库。 <1> sqlite django默认使用sqlite的数据库&#xff0c;默认自带sqlite的数据库驱动 引擎名称&#xff1a;django.db.backends.sqlite3 <2>mysql …...

RISC-V 整型通用寄存器介绍

简介 RISC-V64位/32位提供了32个整型通用寄存器&#xff0c;编号是x0~x31&#xff0c;这些整型通用寄存器的宽度与架构位数一致。 浮点数寄存器与整形寄存器一样也提供了32个&#xff1a;f0~f31&#xff0c;位数与架构位数一致。 通用寄存器介绍 零寄存器 x0/zero x0寄存…...

学习Vue:【性能优化】异步组件和懒加载

在Vue.js应用开发中&#xff0c;性能优化是一个至关重要的主题&#xff0c;而异步组件和懒加载是提升性能的有效方法之一。本文将介绍什么是异步组件和懒加载&#xff0c;以及如何在Vue.js中应用这些技术来提升应用性能。 异步组件和懒加载 异步组件 异步组件是指在需要的时候…...

pdf格式文件下载不预览,云存储的跨域解决

需求背景 后端接口中返回的是pdf文件路径比如&#xff1a; pdf文件路径 &#xff08;https://wangzhendongsky.oss-cn-beijing.aliyuncs.com/wzd-test.pdf&#xff09; 前端适配是这样的 <ahref"https://wangzhendongsky.oss-cn-beijing.aliyuncs.com/wzd-test.pdf&…...

httplib + nlohmann::json上传数据时中文乱码解决

1、nlohmann::json 1.1 编码格式使用UTF-8 参考 nlohmann::json 中文乱码解决方案 &#xff08;1&#xff09;将数据先转为UTF-8格式 2、httplib 2.1 上传数据前 &#xff08;1&#xff09;调用httplib::Response对象的set_header()方法来设置编码格式 httplib::Response res…...

JavaScript中的设计模式之一--单例模式和模块

虽然有一种疯狂天才的感觉可能很诱人&#xff0c;但重新发明轮子通常不是设计软件的最佳方法。很有可能有人已经遇到了和你一样的问题&#xff0c;并以一种聪明的方式解决了它。这样的最佳实践在形式化后被称为设计模式。今天我们来看看它们的概念&#xff0c;并检查单例模式和…...

回归预测 | MATLAB实现GAM广义加性模型多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GAM广义加性模型多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GAM广义加性模型多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本…...

css学习4(背景)

1、CSS中&#xff0c;颜色值通常以以下方式定义: 十六进制 - 如&#xff1a;"#ff0000"RGB - 如&#xff1a;"rgb(255,0,0)"颜色名称 - 如&#xff1a;"red" 2、background-image 属性描述了元素的背景图像. 默认情况下&#xff0c;背景图像进…...

二、SQL,如何实现表的创建和查询

1、新建表格&#xff08;在当前数据库中新建一个表格&#xff09;&#xff1a; &#xff08;1&#xff09;基础语法&#xff1a; create table [表名]( [字段:列标签] [该列数据类型] comment [字段注释], [字段:列标签] [该列数据类型] comment [字段注释], ……&#xff0c…...

大数据及软件教学与实验专业实训室建设方案

一 、系统概述 大数据及软件教学与实验大数据及软件教学与实验在现代教育中扮演重要角色&#xff0c;这方面的教学内容涵盖了大数据处理、数据分析、数据可视化和大数据应用等多个方面。以下是大数据及软件教学与实验的一般内容&#xff1a;1. 数据基础知识&#xff1a;教授学生…...

信创办公–基于WPS的EXCEL最佳实践系列 (公式和函数)

信创办公–基于WPS的EXCEL最佳实践系列 &#xff08;公式和函数&#xff09; 目录 应用背景相关知识操作步骤1、认识基本的初级函数2、相对引用&#xff0c;绝对引用&#xff0c;混合引用3、统计函数4、文本函数 应用背景 熟练掌握Excel的函数工具能让我们在日常的使用中更加方…...

【Apollo】自动驾驶感知——毫米波雷达

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…...

SpringBoot部署到腾讯云

SpringBoot部署到腾讯云 此处默认已经申请到腾讯云服务器&#xff0c;因为本人还没有申请域名&#xff0c;所以就直接使用的ip地址 XShell连接到腾讯云 主机中填写腾讯云的公网ip地址 公网ip地址在下图中找到 接下来填写服务器的用户名与密码 一般centOS用户名为root&#xff…...

Git 设置代理

Git 传输分两种协议&#xff0c;SSH和 http(s)&#xff0c;设置代理也需要分两种。 http(s) 代理 Command Line 使用 命令行 模式&#xff0c;可以在Powershell中使用以下命令设置代理&#xff1a; $env:http_proxy"http://127.0.0.1:7890" $env:https_proxy&quo…...

基于Spring Boot的机场VIP客户管理系统的设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的机场VIP客户管理系统的设计与实现&#xff08;Javaspring bootMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java s…...

FanControl完全掌控:5大核心优势实现电脑风扇智能调节

FanControl完全掌控&#xff1a;5大核心优势实现电脑风扇智能调节 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa…...

如何用ASR6601实现22dBm发射功率?LoRa模组射频优化全流程

ASR6601射频性能深度优化&#xff1a;从原理到22dBm发射功率实战指南 在低功耗广域物联网(LPWAN)领域&#xff0c;LoRa技术凭借其出色的传输距离和抗干扰能力&#xff0c;已成为智慧城市、工业监测等场景的首选方案。而ASR6601作为国产化LoRa SoC的佼佼者&#xff0c;其集成的A…...

stm32开发新手福音:告别复杂安装,用快马ai生成带详解的hal库基础代码

作为一名刚接触STM32开发的新手&#xff0c;我最近在尝试用HAL库控制GPIO时遇到了不少麻烦。从下载安装STM32CubeMX到配置工程&#xff0c;每一步都让我这个小白手忙脚乱。直到发现了InsCode(快马)平台&#xff0c;整个过程变得简单多了——不需要自己搭建环境&#xff0c;AI就…...

Meshery 1.0正式发布,为云原生基础设施提供新的管控层

跨多云环境管理Kubernetes基础设施长期以来产生了YAML文件泛滥、配置漂移以及依赖个人而非系统的知识问题。生成基础设施配置的AI工具速度超过了团队审查能力&#xff0c;使这个问题更加难以控制。开源Meshery技术正是为了解决这一问题而构建的。Meshery v1.0现已发布&#xff…...

OpenClaw负载均衡:多Qwen3-VL:30B实例轮询策略

OpenClaw负载均衡&#xff1a;多Qwen3-VL:30B实例轮询策略 1. 为什么需要多模型实例负载均衡 上周我遇到一个棘手问题&#xff1a;用OpenClaw处理批量图片分析任务时&#xff0c;单个Qwen3-VL:30B实例频繁触发速率限制&#xff0c;导致任务队列堆积。更糟的是&#xff0c;有次…...

HertzBeat与Prometheus兼容性详解:平滑迁移和生态整合终极指南

HertzBeat与Prometheus兼容性详解&#xff1a;平滑迁移和生态整合终极指南 Apache HertzBeat是一款功能强大的开源实时监控系统&#xff0c;与Prometheus生态系统完美兼容&#xff0c;提供无代理、高性能集群和自定义监控功能。&#x1f680; 作为新一代监控工具&#xff0c;H…...

隐私保护方案:OpenClaw+GLM-4.7-Flash本地化处理敏感数据

隐私保护方案&#xff1a;OpenClawGLM-4.7-Flash本地化处理敏感数据 1. 为什么需要本地化处理敏感数据&#xff1f; 去年我帮一位做财务咨询的朋友处理季度报表时&#xff0c;遇到了一个棘手问题。他需要分析上百份包含客户银行流水、身份证号等信息的Excel文件&#xff0c;但…...

Echarts实战:如何用散点图+面积图模拟Power BI丝带图效果(附完整代码)

Echarts实战&#xff1a;用散点图与面积图组合实现Power BI丝带图效果 1. 理解丝带图的核心价值与实现难点 丝带图&#xff08;Ribbon Chart&#xff09;作为Power BI的特色可视化组件&#xff0c;其独特之处在于能够直观展示数据在不同时间维度上的变化趋势和相对排名。这种图…...

GLM-OCR在ComfyUI工作流中的应用:构建可视化OCR处理节点

GLM-OCR在ComfyUI工作流中的应用&#xff1a;构建可视化OCR处理节点 如果你经常用ComfyUI做图片生成或者编辑&#xff0c;可能会遇到一个挺麻烦的事儿&#xff1a;怎么把图片里的文字快速提取出来&#xff0c;然后用到下一步工作流里&#xff1f;比如&#xff0c;你想把一张海…...

基于Matlab的大气信道仿真:MIE理论在雨中光衰减计算的实践

152.基于matlab的大气信道的仿真程序。 MIE理论计算光在雨中的衰减。 前项递推法或者直接计算贝塞尔函数在计算雨这种吸收性大颗粒&#xff0c;自变量太大而产生溢出&#xff0c;限制mie计算范围&#xff0c;用MIE散射理论&#xff0c;计算单球粒子对平面光波的散射。 程序已调…...