junit

JUnit是什么? JUnit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性: 1、用于测试期望结果的断言(Assertion) 2、用于共享共同测试数据的测试工具 3、用于方便的组织和运行测试的测试套件 4、图形和文本的测试运行器 JUnit最初是由Erich Gamma(GoF之一)和Kent B 阅读详情

v 运行JUnit

Ø 下载junit.zip,解压缩目录如:

       D:/tools/develope/junit>

Ø执行命令

       java -cp junit.jar;. junit.textui.TestRunner junit.samples.AllTests

或

       java -cp junit.jar;. junit.swingui.TestRunner junit.samples.AllTests

 

v JUnit核心

Ø JUnit由TestCase、TestSuite和BaseTestRunner这3个骨干类组成。

Ø 用TestRunner来运行测试

Ø 用TestSuite来组合测试

Ø 用TestCase来执行单个测试

 

v 模式使用

Ø Composite模式:往TestSuite增加一个对象时,增加的是Test接口的实现类(TestCase和

       TestSuite均实现了Test接口)

ØCommand模式:Test接口提供公共的Run方法供其子类使用。

 

v TestResult

Ø TestResult负责收集TestCase的执行结果,如果预期结果不对,JUnit就会创建一个TestFailure对象,它会存储在TestResult中。TestRunner使用TestResult来报告测试结果,如果TestResult集会中没有TestFailure对象,那么代码就是干净的,进度条就用绿色表示(JUnit格言:keep the bar green to keep the code clean)。

 

v Assert超类型的8个核心方法

ØassertTrue

ØassertFalse

ØassertEquals

ØassertNotNull

ØassertNull

ØassertSame

ØassertnotSame

Øfail

v ant实例

           <junit printsummary="no" forkmode="once" errorProperty="test.failed"

                failureProperty="test.failed" fork="${junit.fork}">

                <classpath>

                    <pathelement path="@{additional.src.dirs}"/>

                    <path refid="@{module}.test.classpath"/>

                    <pathelement location="${build.dir}/@{module}/classes"/>

                    <pathelement location="${test.dir}/@{module}/classes"/>

                    <pathelement path="${java.class.path}"/>

                    <pathelement path="${webapp.target}"/>

                    <pathelement path="${build.dir}/dao/gen"/>

                    <!-- For .properties and .xml files -->

                    <pathelement path="${build.dir}/web/classes"/>

                    <pathelement path="src/@{module}"/>

                </classpath>

                <formatter type="xml"/>

                <formatter type="brief" usefile="false"/>

                <batchtest todir="${test.dir}/data" if="testcase">

                    <fileset dir="${test.dir}/@{module}/classes">

                        <include name="**/*${testcase}*"/>

                        <exclude name="**/*TestCase.class"/>

                    </fileset>

                </batchtest>

                <batchtest todir="${test.dir}/data" unless="testcase">

                    <fileset dir="${test.dir}/@{module}/classes">

                        <include name="**/*Test.class*"/>

                    </fileset>

                </batchtest>

            </junit>

Ø printsummary="yes":在测试的最后一行输出一个单行的概要

Øfork=”yes”:强制ant对美国测试分别使用一个单独的Java虚拟机,这样避免了测试见的相

    互影响。

Øbatchtest:自动找出要运行的测试

Øhaltonfailure和haltonerror表示如果失败或产生错误将停止编译。

 

v用JUnit打印好的报告

    <target name="test-reports" description="Generate test reports">

        <mkdir dir="${test.dir}/reports"/>

        <junitreport todir="${test.dir}">

            <fileset dir="${test.dir}/data">

                <include name="TEST-*.xml"/>

            </fileset>

            <report format="frames" todir="${test.dir}/reports"/>

        </junitreport>

        <echo level="info">

        Test reports generated at ${test.dir}/reports

        </echo>

    </target>

v Maven安装

Ø下载Maven

Ø定义一个MAVEN_HOME环境变量,执行Maven安装目录

Ø 把Maver/bin添加到PATH环境中

 

基于JUnit4和JUnit5配合例子讲解JUnit的两种运行方式 本文基于不同的JUnit版本(4和5)分别介绍了JUnit的两种不同使用方式—手工和Maven,通过代码的方式可以看出JUnit 5的包结构发生了改变,能帮助初学者入门JUnit 框架的使用和代码阅读。若想对JUnit 更深入了解,推荐阅读文献2。↩︎↩︎↩︎↩︎。 阅读详情

相关推荐

Junit5系列-什么是Junit5?

目录Junit5简介JDK 支持Maven 导入所有组件介绍JUnit PlatformJUnit JupiterJUnit VintageJunit5 BOM Junit5 官网:JUnit5 is the next generation of JUnit. 注意:以下内容绝大部分翻译自官网 目标是为JVM上的开发人员端测试创建一个最新的基础。例如支持了jdk8的lambda表达式,流式处理...

Tech Station 3456

探索测试报告的新境界:VJunit——将JUnit XML转换为优雅的HTML

探索测试报告的新境界:VJunit——将JUnit XML转换为优雅的HTML 在软件开发的世界里,测试无疑扮演着至关重要的角色。而JUnit作为最流行的Java单元测试框架之一,其生成的XML报告成为了开发者们日常审查代码质量的重要工具。然而,面对满屏的XML数据,是否曾幻想过它们以更加直观、友好的形式呈现?今天,就让我们一起揭开【VJunit】这一利器的神秘面纱,解锁测试报告的新体验。 项目介...

gitblog_00551的博客 544

用Cursor+Node.js零代码搭建健康数据仪表盘:从数据录入到可视化全流程

本文详细介绍了如何利用Cursor AI编程助手和Node.js,无需手动编写代码,即可构建个人健康数据仪表盘的全流程。通过自然语言指令,实现从数据录入、存储到动态图表可视化的完整系统,展示了AI驱动开发在降低技术门槛、提升开发效率方面的强大能力。

gitlab7runner的博客 700

Junit的基本使用(详解)

什么是Junit?Junit是xUnit的一个子集,在c++,paython,java语言中测试框架的名字都不相同xUnit是一套基于测试驱动开发的测试框架其中的断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性java所用的测试工具是Junit,Junit不需要去网上下载,在ecliplse中有:1.新建一个工程2.工程右键,点击Properties3.4.5.6.7....

fulishafulisha的博客 16万+

使用moveit控制机械臂

位置设置:`target_pose.position.x = 0.12`, `target_pose.position.y = 0.41`, 和 `target_pose.position.z = 0.44` 分别设置了机械臂末端执行器的X, Y, 和 Z坐标。设定目标位置:`group.set_pose_target(target_pose)` 这一命令将之前定义的目标位置和姿态设置为当前机械臂组的目标,为接下来的路径规划做准备。在机械臂控制的过程中,设定精确的目标位置和姿态是实现精确操作的关键步骤。

realman_Rop的博客 3687

PostgreSQL使用 pg_rman物理备份搭建流复制备库(streaming replication standby)

摘要:使用pg_rman备份搭建PostgreSQL流复制备库 本文详细介绍了利用pg_rman工具快速搭建PostgreSQL流复制备库的完整流程。该方法结合物理备份的高效性和流复制的实时性,特别适合大型数据库环境。主要内容包括:主库上的pg_rman安装配置、全量备份操作;备份文件传输至备库;备库数据目录准备及恢复;流复制参数配置;以及最终的启动验证步骤。文章还提供了架构示意图和关键配置示例,并包含常见问题排查建议,如备库无法启动或复制卡顿情况的处理方法。整个流程强调通过.pgpass文件管理密码的安全

liumangtuzi888的博客 1169

Junit中的一些参数 :fork, forkmode

在使用Ant集成Junit来运行unit test时, 会有一段很常见的配置: <junit fork="yes" forkmode="once" dir="directoryContainingJars"> <classpath path="junit.jar"/> <!-- additional classpath entries --> <b...

weixin_34290096的博客 641

告别拼音!用VSCode+Dosbox-X搞定汇编语言课程设计里的中文姓名显示

本文详细介绍了如何利用VSCode和Dosbox-X解决汇编语言课程设计中中文姓名显示的问题。通过配置开发环境、理解GB2312编码及正确使用汇编指令,学生可以告别拼音显示,实现中文字符的正确输出。文章还提供了完整的代码示例和常见问题排查方法,帮助读者快速掌握这一实用技能。

weixin_30872337的博客 425

Junit

转自http://blog.youkuaiyun.com/ai92/archive/2005/03/12/318318.aspx JUnit源码分析(一) 收藏 一、引子 JUnit源码是我仔细阅读过的第一个开源项目源码。阅读高手写的代码能学到一些好的编程风格和实现思路,这是提高自己编程水平行之有效的方法,因此早就想看看这些赫赫有名的框架是怎么回事了。今天就拿最简单的JUnit下手,也算开始自己...

iteye_11254的博客 210

C#实战:基于ONNX与SCRFD/ArcFace的高效人脸识别系统开发

本文详细介绍了如何在C#环境中,利用ONNX Runtime高效部署SCRFD人脸检测与ArcFace人脸识别模型,构建一个完整的、高性能的人脸识别系统。内容涵盖环境搭建、模型推理、人脸对齐、特征提取等核心模块,并提供了从Demo到生产系统的优化思路与实战代码,为.NET开发者提供了一套开箱即用的解决方案。

weixin_29061821的博客 488

2023华为od机试C卷【最富裕的小家庭】C++ 实现

在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为个小家庭。现给你一颗树,请计算出最富裕的小家庭的财富和。

MISAYAONE的博客 1239

Junit 入门(一)

Junit 入门

yangsuhong的专栏 1095

【Agent实战】Anthropic Skills、MCP与LangGraph的工程实践

随着大语言模型(LLM)应用从简单的Chatbot向自主智能体(Autonomous Agents)演进,如何管理复杂的任务上下文、标准化的工具调用以及确定性的业务流程,成为了系统设计的核心挑战。Anthropic 推出的 Skills 规范,结合 Model Context Protocol (MCP) 与 Function Calling,为构建模块化、可扩展的 Agent 提供了全新的范式。

kakaZhui的博客 584

JUnit 5和JUnit 4比较

JUnit 5旨在调整java 8样式的编码,并且比JUnit 4更强大和灵活。在这篇文章中,JUnit 5 vs JUnit 4,我们将关注junit 4和junit 5之间的一些主要差异。 1. JUnit 5 vs JUnit 4 - 注释 两个版本中的大多数注释都是相同的,但很少有区别。这是一个快速比较。 特征 JUNIT 4 JUNIT 5 声明一种测试方法 ...

javaZhong的博客 3万+

uniapp - 最新详细实现web-view网页与安卓苹果App端之间互相通信功能,苹果app/安卓app平台与内嵌webview组件内的网页进行相互传值,内置网页与app双向实时通信,详细示例代码

uni-app,Android安卓,苹果ios,app,内嵌webview,第三方H5网页,app和web-view通信传值,web-view引入的页面向App主应用传递数据,App端与webview端相互通信,App端和H5端webview之间的通信,uniapp实现webview和APP之间的传值通信,如何互相传递对象数据,数据传递了接收不到,web-view页面向app内发送消息,监听传递的参数,uni-app和web-view页面相互传参,报错怎么办,跨域,屏幕空白出错,数据交互,解决手机物理返回按

🏆 前端领域优质创作者 4741

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JUnit 4和JUnit 5区别

特征 JUNIT 4 JUNIT 5 声明一种测试方法 @Test @Test 在当前类中的所有测试方法之前执行 @BeforeClass @BeforeAll 在当前类中的所有测试方法之后执行 @AfterClass @AfterAll 在每个测试方法之前执行 @Before @BeforeEach 每种测试方法后执行 @After @AfterEach 禁用测试方法/类 @Ignore @Disa

渣渣 6257

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Eclipse安装插件——junit

1 Eclipse 中Junit 的配置Eclipse IDE 中集成了JUnit 组件,无须另行下载和安装,但是为了更好的使用Junit(更多细节请参考http://www.junit.org ),我们还要在Eclipse 中进行一些设置。其中主要是就是类路径变量的设置。1.1 创建变量JUNIT 和JUNIT_SRC在project 的classpath 中添加junit.jar。因此,建立一...

我的路 4204

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

无涯教程-JUnit - 环境设置

JUnit是Java的框架,因此最首要的要求是在计算机上安装JDK。步骤1 - 验证Java安装首先,打开控制台并根据您正在使用的操作系统执行Java命令。让无涯教程验证所有操作系统的输出-java版本" 1.8.0_101"Java(TM)SE运行时环境(内部版本1.8.0_101)java版本" 1.8.0_101"Java(TM)SE运行时环境(内部版本1.8.0_101)java版本" 1.8.0_101"Java(TM)SE运行时环境(内部版本1.8.0_101)

无涯教程 1320

junit junit suite的简单使用总结(从无到有)

JUNIT吐血总结最近在使用junit的时候遇到一些问题,现在回过头来整理一下。在使用junit的时候我们先要从官网中(http://www.junit.org)中下载相应的jar包,并配置到eclipse中。 之后就可以在程序中写相应的测试程序了。 右键项目,选择新建一个junit case(在other中找)。注意注意!这里一定要选择new junit4 test 或者使用 junit3

Richard_pl的博客 1622

JUnit 4与JUnit 5的差异详解

在进行`SpringBoot`项目单元测试时,发现有时候给类打上 `@SpringBootTest`注解就能运行项目,但有时候需要`@RunWith(SpringRunner.class)`和`@SpringBootTest`注解才能运行,你有研究过这是为什么吗?本文就来讲一下这个问题。

谷美的互联网练摊记 1584

maven安装junit_JUnit安装Maven – JUnit 4和JUnit 5

maven安装junitJUnit 4 and JUnit 5 are completely different frameworks. They both serve the same purpose, but the JUnit 5 is a completely different testing framework written from scratch. It’s not using ...

从零开始的教程世界 2161

Junit 4 与Junit 5区别

所需JDK Junit 4 Junit 5 需要 Java 5 或以上版本 需要Java 8 或以上版本 Architecture Junit 4 所有的东西在一个jar包里,maven依赖如下: junit junit 4.13.1 test Junit 5 由JUnit Platform, JUnit Jupiter 和 JUnit Vintage 三个子项目组成: JUnit Platform 定义了 test engine API,用于开发在

weixin_42258032的博客 2105

JUnit简述

JUnit是什么?JUnit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:1、用于测试期望结果的断言(Assertion)2、用于共享共同测试数据的测试工具3、用于方便的组织和运行测试的测试套件4、图形和文本的测试运行器JUnit最初是由Erich Gamma(GoF之一)和Kent Beck(

键者天行 7268

JUnit 4 vs. JUnit 5

JUnit是一个开源的单元测试框架,专为Java编程语言设计。它提供了一种简单的机制,使得开发者可以在编写代码时快速创建和运行测试,从而验证程序的逻辑和功能是否按预期工作。JUnit最初是由Erich Gamma和Kent Beck于1997年创建的,最早目的在于支持测试驱动开发(TDD),并为程序测试提供一个标准化的框架。JUnit的发展历程与Java语言的演进密切相关。随着Java应用的普及,尤其是在企业级应用和大型软件开发项目中,测试的重要性逐渐被认识到。

不忘的博客 1554

junit5和junit4_JUnit声明异常– JUnit 5和JUnit 4

junit5和junit4We can test expected exceptions using JUnit 5 assertThrows assertion. This JUnit assertion method returns the thrown exception, so we can use it to assert exception message too. 我们可以使用JUn...

从零开始的教程世界 1528
上一篇: Jsp-Tip-1-servlet
下一篇: linux-network-1
dudutu
博客等级 码龄21年 6粉丝 83原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值