Junit测试,Log4j日志.md

自动化测试框架设计:从技术选型到企业级实践,构建面试与工程壁垒 自动化测试是软件工程中保障质量、提升交付效率的核心实践。其原理在于通过脚本或框架模拟用户操作,自动执行测试用例并进行结果验证,从而替代重复的人工测试。这项技术的核心价值在于实现快速反馈、提高测试覆盖率并支持持续集成与持续交付(CI/CD)。在微服务、数据驱动等现代应用场景中,一个设计良好的自动化测试框架能够有效管理测试用例、数据、执行与报告,是构建稳定交付流水线的关键。本文聚焦于如何基于主流开源技术栈,如RestAssured、TestNG与Allure,进行框架选型与整合,并深入探讨数据驱动、报告定制等工 阅读详情

Junit单元测试

Junit单元测试,它可以让方法独立执行。这样我们每写完一个方法,就可以使用Junit运行,检查方法的正确性。

//运行在@Test直接之前
@Before
public void before(){
    System.out.println("运行在Test之前"); 
}

//加上@Test注解的方法,可以独立执行。
//绿色:表示正常执行
//红色:执行出现问题
@Test
public void show(){
    int a=10;
    int b=20;
    int sum=a+b;
    System.out.pritnln(sum); 
}

//运行在@Test直接之后
@After
public void after(){
    ystem.out.println("运行在Test之后年");
}

Log4j日志

日志和输出语句对比:
	共同点:日志和输出语句都可以用来记录程序运行过程中的一些数据。
	不同点:
		输出语句:信息量比较少
		日志:信息量比较多(时间、线程、行号、数据信息...),可以打印在控制台,也可以打印在文件中。

日志的意义(行车记录仪):
	日志可以记录程序的运行情况,一旦程序出现问题,可以根据日志信息去查找问题。
	日志写好,代码没烦恼。

日志级别

DEBUG: 一般性的日志记录
INFO: 比较重要的日志记录
WRAN: 可能会有问题的日志记录
ERROR: 可能程序出现错误,但是不影响执行
FATAL: 程序出现了严重问题

输出目的

ConsoleAppender: 往控制台输出
FileAppender: 往文件中输出

输出模式

PatternLayout: 灵活这控制输出的格式
SimpleLayout: 包含日志级别,日志信息字符串
TTCClayout: 包含有线程名称、时间等信息

使用Log4j的步骤

先把配置文件复制到src目录下,配置文件的名称一定要叫log4j.properties

# debug: 日志级别
# my:输出目的的名称1:ConsoleAppender控制台
# fileAppender: 输出目的的名称2:FileAppender文件
log4j.rootLogger=debug,my,fileAppender

# 往控制台输出
log4j.appender.my=org.apache.log4j.ConsoleAppender
# 立即刷新
log4j.appender.my.ImmediateFlush = true
# 打印流
log4j.appender.my.Target=System.out
# 日志输出模式可以灵活指定
log4j.appender.my.layout=org.apache.log4j.PatternLayout
# 日志输出模式细节
log4j.appender.my.layout.ConversionPattern=%d %t %5p %c{1}:%L - %m%n 


# 往文件输出
log4j.appender.fileAppender=org.apache.log4j.FileAppender
# 立即刷新
log4j.appender.fileAppender.ImmediateFlush = true
# 消息追加到文件中,不被覆盖
log4j.appender.fileAppender.Append=true
# 消息输出到指定文件中
log4j.appender.fileAppender.File=C:/itheima/log4j-log.log
# 日志输出模式可以灵活指定
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
# 日志输出模式细节
log4j.appender.fileAppender.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n

使用Log4j打印日志信息

public class Log4jTest {
    public static void main(String[] args) {
        //获取用来打印日志信息的对象Logger
        Logger logger= LoggerFactory.getLogger(Log4jTest.class);

        Scanner sc=new Scanner(System.in);
        System.out.println("请输入键盘录入的字符串:");
        String str = sc.nextLine();

        int num =0;
        try {
            num = Integer.parseInt(str);
            logger.error("数据格式是正确的:"+num);
        }catch (NumberFormatException e){
            logger.error("输入的数据格式不正确:"+num);
        }

    }
}

SAP 公司间库存调拨通过IDOC完成自动发票校验 本文仅用于SAP软件的应用与学习,不代表SAP公司。(注:文中所示截图来源SAP ERP软件,软件相应著作权归SAP所有。公司间采购时,通过SAP内部EDI 数据传输功能, 由销售方开的公司间发票自动触发采购方的发票校验。​欢迎扫码加如下微信,我会把大家拉到SAP PP学习群,随时欢迎跟我和其他SAP PP顾问一起交流和学习,如下图库存调拨订单,系统已经完成了发货方发货和收货方收货。 阅读详情

相关推荐

国科大——形式语言与自动机理论(0812课程)——作业

此次作业题考察,包括但不限于有限自动机、无限自动机、正则文法、正则表达式以及正则语言的性质,题考查下推自动机相关的知识,题考查图灵机相关的知识。此课程建议本科学习过课程的同学选修,成绩占比:考试100%。此课程虽然留有作业,但可做也可不做,且不考勤。

qq_54145399的博客 705

Spring Boot 日志文件 ——打印日志和日志持久化详解

1. 日志有什么用 2. 日志怎么用 3. Spring Boot 自定义日志的打印 3.1 先获取到打印日志对象 3.2 使用日志对象打印日志 3.3 日志格式说明 4. 日志级别 5. 日志持久化(将日志永久的保存到磁盘的某个位置) 5.1 实现:设置日志的保存路径 6. 更简单的日志输出—lombok 6.1 添加 lombok 到当前项目 6.2 使用 @Slf4j 得到日志对象 log 总结...

Biteht的博客 7421

对Palantir的本体论的理解

本体论Ontology是Palantir的整个技术架构的核心与基石,它远不止是一个数据模型,而是一个旨在对企业决策本身进行建模的“数字世界的操作系统”。

liuyukuan的专栏 1147

java堆栈日志打印错误,如何验证(使用单元测试)错误堆栈已打印在日志文件中?...

In continuing to this answer I wrote a unit test to verify that in case of error, the stack will be printed in the log file.The tested method:import org.slf4j.Logger;import org.slf4j.LoggerFactory;pri...

weixin_35081955的博客 435

信号的反射(振铃、台阶、回勾、尖峰毛刺)

反射是怎么形成的 假设信号传输过程中,经过两个阻抗不同的区域,如下图所示。区域1阻抗为Z1,区域2阻抗为Z2。 在分界面处,电压必须是连续的,否则,在分界面处会产生无穷大的电场,这在真实世界中是不可能的。 同样,分界面两侧的电流必须是连续的,否则分界面处会产生无穷大的磁场。 因此: 根据欧姆定律,必然有: 显然如果Z1≠Z2的情况下,上面式子不可能同时成立。如何理解这一困境? 应该从 ...

sinat_15677011的博客 1万+

计算机组成原理(第三版)唐朔飞-第七章指令系统-课后习题

机器字长是指CPU一次能处理数据的位数通常与CPU的寄存器位数有关。指令字长是指机器指令中二进制代码的总位数。存储字长是指存储单元中存放二进制代码的总位数。三者可以相等也可以不等视不同机器而定。答:OP(4位)A1(6位)A_1(6位)A1​(6位)A2(6位)A_2(6位)A2​(6位)设二地址指令格式为该指令系统的基本格式,4位操作码共有16种编码,其中13种用来定义二地址指令,还剩3种可用作扩展标志。一地址指令条数=3∗26=192。

weixin_45735391的博客 7万+

SpringBoot【日志文件的打印与输出】

●在程序中得到⽇志对象使⽤⽇志对象的相关语法输出要打印的内容注意:Logger 对象是属于 org.slf4j 包下的,不要导⼊错包。到问题类private final static Logger log = LoggerFactory . getLogger(类名 . class)⽇志⼯⼚需要将每个类的类型传递进去,这样我们才知道⽇志的归属类,才能更⽅便、更直观的定位@Controller @ResponseBody //动态页面 public class UserController {

积跬步以至千里 5786

Ubuntu22.04安装ros(一键搞定)

然后发现可以一键安装,话不多说,直接终端输入如下指令。回车之后系统会自动安装ros。

m0_47313541的博客 7413

java(日志)

日志一、日志日志体系结构和logback案例 一、日志 概述 程序中的日志可以用来记录程序在运行的时候点点滴滴。并可以进行永久存储。 日志与输出语句的区别 输出语句 日志技术 取消日志 需要修改代码,灵活性比较差 不需要修改代码,灵活性比较好 输出位置 只能是控制台 可以将日志信息写入到文件或者数据库中 多线程 和业务代码处于一个线程中 多线程方式记录日志,不影响业务代码的性能 日志体系结构和logback 体系结构 logback 通过使用logback,我们可以控制日志

javaren001的博客 505

Python爬虫实战:如何爬取汽车之家报价信息

本文通过实战介绍了如何使用Python编写爬虫,抓取汽车之家网站的车型、价格、配置等信息。在爬虫实现过程中,我们使用了requests库来发送HTTP请求,使用解析HTML页面,提取嵌入的JSON数据,并将数据存储到CSV文件中。同时,我们还介绍了如何使用反爬虫策略(如随机User-Agent、请求延时、代理池等)来规避反爬虫机制,确保爬虫的稳定性。

2201_76125261的博客 1594

后仿真中的必懂VCS仿真选项之initreg和deposit

后仿真中,我们常常对于没有复位寄存器和存储器单元,使用仿真选项之initreg和deposit,两种处理方式。今天做总结。请注意:请勿将两者进行同时使用。对于到底选取哪种方式,要结合实际的情况决断。但是,两者同时使用,会有冲突,得不到预期结果。

那么菜的博客 4330

Java基础之日志

日志基础知识

qq_67124455的博客 224

利用RFIDIOt和NFC进行Hitag2密码暴力破解: Python代码实现

RFID即无线射频识别,是一种通信技术,可以通过无线电信号读取、捕获和保存终端上的信息。这项技术在物流、零售、医疗等领域有着广泛的应用。NFC即近场通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输。Hitag2是一种常见的RFID标签,广泛应用于汽车防盗系统、门禁系统等。由于其安全性在过去被广泛认可,很多设备都采用了这种标签。但近年来随着密码破解技术的发展,Hitag2的安全性受到了一些挑战。

qq_38334677的博客 1560

shiro学习记录1-简单的登录认证

    测试通过,感觉初步学会通过shiro对用户登录进行认证。这里记录下测试遇见的问题及解决方法。 1. 入门程序(用户登录和退出) 1.1 创建maven工程 开发环境:MyEclipse jdk版本:1.8 添加pom依赖如下: <dependencies> <dependency> <groupId>junit&...

虫写的专栏 659

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

使用maven配置的ssh框架

学习maven中,使用maven创建搭建了一个ssh框架,使用maven对ssh框架并没有什么影响,使用maven主要是用来管理jar包及它的各种依赖关系,写个ssh框架的程序员们应该都有体会,ssh框架的jar包非常多,不知道就出现了版本冲突什么的。使用maven就可以轻松的管理jar包及其依赖了,如果在eclipse中安装maven插件,就可以很容易看到jar包的依赖关系了。这里留下我...

wenhao880204的博客 240

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Sensitive与Spring Boot集成:快速构建安全可靠的日志脱敏系统

在当今数据驱动的时代,日志中的敏感信息保护已成为企业应用开发的关键环节。Sensitive作为一款基于Java注解的日志脱敏工具框架,能够帮助开发者更加优雅地处理日志打印,有效防止身份证号、手机号、邮箱等敏感信息泄露。本文将详细介绍如何将Sensitive与Spring Boot框架快速集成,从零开始构建一套安全可靠的日志脱敏系统。 ## 准备工作:环境配置与依赖引入 要实现Sensitive

gitblog_00700的博客 178

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Shiro应用(二)--- shiro整合进springmvc

引入相关的依赖: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs...

hurricane_li的博客 265

软件静态测试与动态测试结合在银行理财代销系统开发中的运用

摘要:本文以某商业银行"理财代销系统"项目为例,探讨了静态测试与动态测试相结合的金融系统质量保障实践。作为技术经理,作者采用SonarQube静态分析工具,结合JUnit、Postman、Selenium等动态测试手段,构建了覆盖全流程的质量体系。通过测试左移策略,将测试活动前移至需求阶段,并引入异常流程识别、性能压测等方法,显著提升了系统稳定性,减少了客户无感流失风险。项目实现了68%的缺陷提前发现率,生产环境投诉下降52%,用户沉默流失率降低35%,验证了静态与动态测试融合的有效性。

qq_40184195的博客 582

可添加功能-----机器学习管理平台

1.可以添加Junit,用于程序单元测试 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</versio...

weixin_33774615的博客 83

在Windows环境下安装hadoop | windows下操作HDFS

安装hadoop 1.首先解压hadoop安装包 2.直接配置hadoop环境变量 HADOOP_HOME=hadoop安装路径(不要有中文目录) 在PATH里添加hadoop下bin的路径 3.测试:在cmd窗口 hadoop version 显示版本号则安装成功 maven 1.启动idea 2.建立maven工程 3.在自动生成的pom.xml文件下导包 导包 1.在setting下输入maven,找到它 有settings.xml文件 2.编辑这个文件 修改这两部分 <localReposi

llLucky_BOY_的博客 527

SSM框架整合(转载)

1.前言本文主要对SSM框架整合的过程进行记录,作为之后参考的依据。1.1.参考文章Spring代码实例系列-绪论 Spring MVC代码实例系列-绪论 MyBatis代码实例系列-绪论1.2.技术简介在整合的SSM框架中,主要涉及的框架、插件或技术有:Spring:一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring MVC:一个用于构建 Web 应用程序的MVC框架(S...

hero_hope的博客 576

学习maven,碰到测试中文乱码的问题

查找问题,翻阅到一篇前辈的文章解决。转载记录一下 写接口测试用例,用到junit,log4j。项目的默认编码是utf-8,text file encoding也是utf-8。 单个测试类,通过JUint test方式运行,没有问题,log里面的中午也都正常显示。 16:35:54 [INFO] reqJson={"auth":{"appName":"test","password":"000000","userName":"nocon","mapType":"google"},"cmd":"fi

m0_58339106的博客 1508

maven测试工程,中文乱码问题解决

写接口测试用例,用到junit,log4j。项目的默认编码是utf-8,text file encoding也是utf-8。   单个测试类,通过JUint test方式运行,没有问题,log里面的中午也都正常显示。 16:35:54 [INFO] reqJson={"auth":{"appName":"test","password":"000000","userName":&q

yong3773的专栏 1305

Java实习模拟面试:开源平台源代码测试开发——从代码审查到自动化测试的深度剖析

CI/CD是开源项目质量的‘守护者’。一个设计良好的管道能实现‘快速失败’,确保每次提交都符合质量标准。以下是基于on:push:jobs:steps:with:with:path: |~/.m2run: |# JaCoCo报告会生成在 target/site/jacoco/with:env:run: |# 🚀 CD 阶段(通常在主分支通过后手动触发)env:本次模拟面试覆盖了开源项目测试开发的核心技能栈。从初识代码的审查分析,到复杂逻辑的单元测试设计,再到依赖隔离的。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 888

从零搭建自动化测试框架指南

摘要: 自动化测试框架是提升软件测试效率和质量的关键工具,尤其适用于敏捷和DevOps环境。本文提供从零搭建框架的实战指南,涵盖需求分析、工具选型(如Selenium、Pytest)、环境配置、用例编写及CI/CD集成。重点包括:1)明确测试目标和范围;2)选择适合的框架类型(数据驱动或关键字驱动);3)构建可扩展的目录结构和核心模块;4)优化测试执行与报告生成。还探讨了AI辅助测试、容器化环境等前沿趋势,帮助团队实现高效、可持续的自动化测试流程。

2501_94436481的博客 619

基于Java+SSM+Django物流信息管理系统(源码+LW+调试文档+讲解等)/物流管理软件/物流信息系统/物流跟踪系统/物流服务平台/物流管理系统/物流控制系统/物流配送系统/物流调度系统

前端:Django、Python Web框架,后端语言Python后端:Spring+SpringMVC+Mybatis数据库:MySQL、SQLServer开发工具:IDEA、Eclipse、Navicat等✌关于毕设项目技术实现问题讲解也可以给我留言咨询!!!Django 在程序设计中具有诸多优势。它的清晰架构、强大的功能和良好的安全性使得它成为众多开发者的首选框架。无论是构建小型网站还是大型 Web 应用,Django 都能为程序设计提供可靠的支持,帮助开发者快速实现高质量的项目。

全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战,大学生项目实战开发,讲解,毕业答疑辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。 59
上一篇: JavaSE总结
下一篇: Git版本控制
Figure_TheKeyboard
博客等级 码龄5年 6粉丝 36原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值