下面上三种基本的测试用例的程序编写:
1.基本测试
import static org.junit.Assert.*;
import org.apache.commons.logging.*;
import org.junit.*;
public class Test1{
private static Log log = LogFactory.getLog(Test1.class);
@Before//每个测试单元执行前执行该方法,方法级的前置,当然还有类级别的前置BeforeClass,只执行一次
public void init() {
log.info("init.....");
}
@After//每个测试单元执行前执行该方法,方法级的后置,当然还有类级别的后置AfterClass,只执行一次
public void destory() {
log.info("release resource");
}
public void functionOne() {
System.out.println("");
}
@Test(expected=NullPointerException.class)//指定抛出指定的异常
public void functionError() {
String test = null;
// assertNull(test);
test.toString();
}
@Test
public void Equals() {
String testPoint = new String("true");
String testTargt = new String("true1");
assertEquals(testPoint, testTargt);
}
@Ignore("此测试已被忽略")
@Test(timeout=1)//测试运行时间 (单位:millisecond)
public void timeout() {
String testPoint = new String("true");
String testTargt = new String("true1");
assertTrue("Pattern did not validate zip code", true);
}
}
2.套件测试
测试用例类1:Test1.java
public class Test1 {
@Test
public void test1(){
System.out.println("test1");
}
@Test
public void test2(){
System.out.println("test2");
}
}
测试用例类2:Test2.java
public class Test2 {
@Test
public void Tets3(){
System.out.println("test3");
}
@Test
public void Test4(){
System.out.println("test4");
}
}
测试套件类:
/**
* 在 JUnit 4 中,套件语义被两个新注释所替代。
* 第一个是 @RunWith,设计它是为了方便让不同的运行器
* (除了构建进框架的运行器)执行一个特别的测试类。
* JUnit 4 绑定一个叫做 Suite 的套件运行器,
* 必须在 @RunWith 注释中指定这个运行器。
* 不仅如此,还必须提供另一项叫做 @SuiteClasses 的注释,
* 它将一个意欲表示测试套件的类列表作为参数。
* @author JersoN
*
*/
@RunWith(Suite.class)
@SuiteClasses({Test1.class,Test2.class})
public class SuiteTest {
/*在这里还可以继续添加新的测试@Test*/
}
3.参数测试
参数测试代码要多一些
import java.util.*;
import org.apache.commons.logging.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import static org.junit.Assert.*;
@RunWith(Parameterized.class)//指定此测试类使用测试时使用参数集进行测试
public class MainTest {
Log log = LogFactory.getLog(MainTest.class);
@Test
public void testEqual() {
assertTrue(source.equals(target));
}
@Test
public void testStringLength(){
//可以看到以往做参数测试得把测试的参数传递进来,当我们要测试多个参数的时候很麻烦,Juint4用了更好的实现解决这个问题,你可以把定义的多个参数用于不同的测试
assertTrue(source.length()==target.length());
}
@Parameters
public static Collection params() {
return Arrays.asList(new Object[][] {
{ "22101", "22101" },
{ "221x1", "22101" },
{ "22101-5150", "22101"},
{ "221015150", "221015150" }
});
}
/**
* 以下是为参数化测试所做的编码
*/
private String source;
private String target;
/**
* 参数化测试必须的构造函数
* @param source 对应参数集中的第一个参数
* @param target 对应参数集中的第二个参数
*/
public MainTest(String source,String target){
this.source = source;
this.target = target;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
}
分享到:
相关推荐
除了基本的测试功能,JUnit4还包含了一些扩展框架,如TestNG和Mockito,它们能帮助我们进行更复杂的测试场景。TestNG提供了更丰富的测试注解和并行测试支持,而Mockito则是一个强大的模拟框架,可以帮助我们创建和...
本教程将深入浅出地介绍JUnit4的基本概念、核心特性以及如何在实际项目中应用它来编写有效的单元测试。 ## 一、JUnit4简介 JUnit4是JUnit系列的第四代产品,它引入了注解(Annotations)和断言(Assertions)等新...
在 JUnit 4 中,除了基本的断言方法,如 `assertEquals`,还有其他的一些断言方法,例如 `assertTrue`,`assertFalse`,`assertNull` 等,它们提供了更多的测试条件。这些断言方法用于验证被测试代码的行为是否符合...
- `javadoc`目录下的文档提供了JUnit4 API的详细说明,包括类、接口、方法等的用途和用法,是学习和查找特定功能的重要参考。 5. **实际应用**: - **TDD实践**:JUnit4是TDD的主要工具,开发者可以先编写测试,...
除了基本的测试功能,JUnit4还可以与其他工具和库集成,比如Mockito用于模拟对象,Hamcrest库用于更复杂的断言,以及TestNG等其他测试框架。这极大地扩展了JUnit4的功能,使其成为Java开发中的强大测试工具。 总结...
除了基本的测试功能,JUnit4还提供了异常测试。`@Test(expected = Exception.class)`注解可用于检查方法是否抛出了预期的异常,这对于验证错误处理逻辑非常有用。 扩展性是JUnit4的一大亮点。通过实现`Rule`接口或...
“入门级学习材料”表明这个压缩包可能是为初学者准备的,涵盖了如何使用JUnit4框架创建和运行测试的基本步骤。Eclipse开发环境是一个流行的Java集成开发环境,它支持JUnit插件,使得在Eclipse中编写和运行JUnit测试...
除了基本的测试功能,JUnit4还提供了丰富的断言库,如`assertEquals()`、`assertTrue()`等,用于检查测试结果是否符合预期。如果测试失败,这些断言会抛出异常,清楚地指出失败的原因。 在实际项目中,开发者通常会...
首先,我们需要了解Junit4的基本结构和概念。Junit4通过注解(Annotation)来简化测试用例的编写,例如`@Test`注解标记测试方法,`@Before`和`@After`注解分别表示在每个测试方法执行前后的准备工作和清理工作。...
JUnit4相较于之前的版本,在语法和功能上都有显著改进,使得编写测试更加直观、高效。 对于初学者来说,快速掌握JUnit4的基本用法是非常重要的。本文档旨在为新手提供一份简明扼要的学习指南,通过实际案例来展示...
除了基本的测试方法,JUnit4还支持更高级的功能,如参数化测试(`@Parameterized`)、异常测试(`@Test(expected = Exception.class)`)和注解驱动的测试套件(`@RunWith(Suite.class)`)等。 在压缩包`JUnit_...
总结来说,"SpringMVC+Hibernate+Junit4基本框架近乎0配置Jar包"是一个为Java Web开发准备的便利集合,它包含了构建MVC应用、数据库操作和测试所需的核心组件。通过这些Jar包,开发者可以快速搭建起一个基础框架,...
这三个依赖分别提供了JUnit4的基本功能,Spring对测试的支持以及Spring Boot测试相关的工具和配置。以下是添加依赖的代码: ```xml <!-- JUnit4 --> <groupId>junit <artifactId>junit <version>4.8.1 ...
JUnit4是JUnit框架的一个重大改进,特别是在Java5引入注解功能之后。注解(Annotation)在Java中是一种元数据,用于提供额外的信息来描述类、方法或变量的用途,类似于公共(public)、静态(static)等关键字。 在...
"junit4hamcrest jar包"就是结合了JUnit 4和Hamcrest功能的集成包,用于增强测试表达力和测试覆盖率。 首先,我们来深入了解一下JUnit 4。JUnit 4是JUnit系列的一个重要版本,引入了许多新的特性,如注解...
在实际项目中,除了基本的单元测试外,你还可以利用Junit4的其他注解,如`@Before`和`@After`来定义在每个测试方法执行前后的准备工作和清理工作,`@BeforeClass`和`@AfterClass`则可以执行一次性的初始化和清理任务...
Junit4提供了参数化测试功能,通过`@Parameters`注解,可以为测试方法提供多组输入数据,实现对同一逻辑的多次测试。 7. **定时器测试** `@Test(timeout = 1000)`可以设置测试方法的超时时间,如果超过这个时间...
5. `使用说明.txt`:这是一个文本文件,很可能包含了 JUnit 的基本使用教程或者一些注意事项,对于初学者来说是很好的入门资料。 6. `安卓游戏下载.url`, `单机游戏下载.url`, `更多软件点击进入.url`:这些看起来...
首先,让我们了解一下JUnit的基本概念。JUnit是一个开源项目,它基于xUnit测试框架模型,为Java开发者提供了创建和执行单元测试的工具。通过JUnit,开发者可以编写一系列独立的、自包含的测试方法,这些方法针对代码...
除了基本的测试功能,JUnit4还提供了一些高级特性。例如,`@Ignore`注解可以暂时跳过某个测试方法,`@RunWith`注解允许我们指定测试运行器,这在需要自定义测试行为时非常有用。`@BeforeClass`和`@AfterClass`则分别...