JUnit2

本文详细介绍了JUnit4中Error和Failure的区别,并深入讲解了JUnit4的常用注解,包括@Test、@Ignore、@Before、@After等,通过实例演示了它们的具体用法。

   上一节初步介绍了什么是单元测试,为什么要做单元测试,以及junit4的初步使用,这里我们接着说一下junit4中的注解。

  =============本节知识点============================

*     Error和Failures

*    Junit4 Annotation

==================================================================

 

1.   在讲注解之前,先来认识 Error和Failures这两种错误有什么不同。

 

Errors:表示程序本身错误

 

 

复制代码
@Test
publicvoid testAdd() {
int z=new T().add(5,3);
assertEquals(8,z);
int a=8/0; //这一句是有错误的
}
复制代码

 

运行方法,会有一下错误提示:

 

Failures: 是指测试失败。

@Test
publicvoid testAdd() {
int z=new T().add(5,4); //这里修改了数值,把4该为3就正确了
assertEquals(8,z);
}

在来运行这个方法,看一下错误提示:

 

所以,我们在写测试程序的时候,要先保证Errors是没有错误的,再来看Failures有没有错误。

 

2.  下面介绍junit4 的常用注解

-----------------------------------------------------------------------------------------------

*             @ Test:测试方法

                  A)  (expected=XXEception.class)

                B)  (timeout=xxx)

*.           @ Ignore: 被忽略的测试方法

*.           @Before: 每一个测试方法之前云行。

*.           @After : 每一个测试方法之后运行。

*.           @BefreClass 所有测试开始之前运行。

*.           @AfterClass 所有测试结果之后运行。

------------------------------------------------------------------------------------------------

下面通过一个测试程序来解释这些注解含义

复制代码
package com.junit4.cc.test;

importstatic org.junit.Assert.*;
importstatic org.hamcrest.Matcher.*;

import org.junit.Test;
import com.junit4.cc.*;

import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.AfterClass;
import org.junit.After;
import org.junit.Ignore;


publicclass TTest {

@BeforeClass //的所有方法运行之前运行。
publicstaticvoid beforeClass(){
System.out.println("------------beforeClass");
}

@AfterClass //在所有方法运行之后运行
publicstaticvoid afterClass(){
System.out.println("-------------afterClass");
}

@Before //每个测试方法运行之前运行
publicvoid before(){
System.out.println("=======before");
}

@After //每个测试方法运行之后运行
publicvoid after(){
System.out.println("=======after");
}

@Test
publicvoid testAdd() {
int z=new T().add(5,3);
assertEquals(8,z);
System.out.println("test Run through");
}

@Test ()
publicvoid testdivision(){
System.out.println("in Test Division");

}

@Ignore //表示这个方法是不被运行的
@Test
(expected=java.lang.ArithmeticException.class,timeout=100) //timeout表示要求方法在100毫秒内运行完成,否则报错
publicvoid testDivide(){
int z =new T().divide(8,2);
}



}
复制代码

运行结果如下:

 

标记红星(*)方法在每个方法开始和结尾都运行一次。

标记绿星(*)的方法只在所有方法的开始和结尾运行一次。

junit有多种注解,我们常用的也就上面几种。

【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)内容概要:本文研究了一种基于机器学习(ML)和离散小波变换(DWT)的电能质量扰动分类方法,并提供了Matlab实现方案。首先利用DWT对电能质量信号进行多尺度分解,提取信号的时频域特征,有效捕捉电压暂降、暂升、中断、谐波、闪变等常见扰动的关键信息;随后结合机器学习分类器(如SVM、BP神经网络等)对提取的特征进行训练与分类,实现对不同类型扰动的自动识别与准确区分。该方法充分发挥DWT在信号去噪与特征提取方面的优势,结合ML强大的模式识别能力,提升了分类精度与鲁棒性,具有较强的实用价值。; 适合人群:电气工程、自动化、电力系统及其自动化等相关专业的研究生、科研人员及从事电能质量监测与分析的工程技术人员;具备一定的信号处理基础和Matlab编程能力者更佳。; 使用场景及目标:①应用于智能电网中的电能质量在线监测系统,实现扰动类型的自动识别;②作为高校或科研机构在信号处理、模式识别、电力系统分析等课程的教学案例或科研实验平台;③目标是提高电能质量扰动分类的准确性与效率,为后续的电能治理与设备保护提供决策依据。; 阅读建议:建议读者结合Matlab代码深入理解DWT的实现过程与特征提取步骤,重点关注小波基选择、分解层数设定及特征向量构造对分类性能的影响,并尝试对比不同机器学习模型的分类效果,以全面掌握该方法的核心技术要点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值