`

junit 4.11中三个新功能

阅读更多
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如


import static org.junit.Assert.assertEquals;
 
import java.util.Arrays;
 
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
 
@RunWith(Parameterized.class)
public class ParameterizedTest {
	@Parameters(name = "Run #{index}: {0}^2={1}")
	public static Iterable<Object[]> data() {
		return Arrays.asList(new Object[][] { { 1, 1 }, { 2, 4 }, { 3, 9 },
				{ 4, 16 }, { 5, 25 } });
	}
 
	private final int input;
	private final int resultExpected;
 
	public ParameterizedTest(final int input, final int result) {
		this.input = input;
		this.resultExpected = result;
	}
 
	@Test
	public void testUserMapping() {
		Calculator calc = new Calculator();
		assertEquals(resultExpected, calc.square(input));
	}



2) 指定输出顺序
  
@FixMethodOrder(MethodSorters.JVM)
public class ExecutionOrder1Test {
    @Test
    public void bTest() {
        System.out.println("b");
    }

    @Test
    public void aTest() {
        System.out.println("a");
    }

    @Test
    public void dTest() {
        System.out.println("d");
    }

    @Test
    public void cTest() {
        System.out.println("c");
    }
}


  上面的是随机顺序,可以按照方法名进行升序降序排列
@FixMethodOrder(MethodSorters.NAME_ASCENDING)


3) TestWatcher 对成功或者失败的方法进行监听
 

import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeFalse;
 
import org.junit.Rule;
import org.junit.Test;
import org.junit.internal.AssumptionViolatedException;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
 
public class WatcherExampleTest {
	@Rule
	public TestWatcher watcher = new TestWatcher() {
		@Override
		protected void skipped(final AssumptionViolatedException e,
				final Description description) {
			System.out.println("method " + description.getMethodName()
					+ " was skipped because of '" + e.getMessage() + "'");
		}
	};
 
	@Test
	public void testSomething() {
		assertTrue(true);
	}
 
	@Test
	public void testIgnored() {
		assumeFalse(true); // assumption fails
	}
0
0
分享到:
评论
1 楼 ykssky 2015-02-13  
too old

相关推荐

    JUnit4.11.zip

    这个压缩包包含三个文件:`junit-4.11-javadoc.jar`、`junit-4.11.jar`和`junit-4.11-sources.jar`,分别提供了JUnit 4.11的API文档、运行时库和源代码。 首先,我们来看`junit-4.11.jar`,这是JUnit的核心库文件。...

    JUnit in Action 3nd Edition

    Extensions是JUnit 5中的一个新特性,允许开发者扩展JUnit的功能。 JUnit和其他测试框架的比较 JUnit与其他测试框架,如TestNG、Cucumber等,具有不同的特点和优缺点。JUnit的优点是灵活、易用、功能强大,而TestNG...

    junti4.11jar包

    JUnit 4.11是该框架的一个重要版本,它在前一版本的基础上进行了诸多改进,增加了许多新特性,如注解(Annotations)、参数化测试等,使得测试更加灵活和高效。 二、安装与配置 在Eclipse集成开发环境中,导入JUnit...

    JUnit4.zip

    2. **版本差异**:压缩包中包含了4.7、4.8.2和4.11三个主要版本的JUnit库。每个版本都有其特定的改进和更新,例如,JUnit4.11增加了对Java 5和6的泛型支持,改进了测试运行器,添加了新的注解等。 3. **Javadoc**:...

    junit的jar

    描述中提到了三个具体的JAR文件: 1. `hamcrest-core-1.3.jar`:这是Hamcrest库的核心模块,提供了一套匹配器(Matcher)来定义预期结果。Hamcrest是JUnit中用于断言的库,它的API设计使得编写表达性强、易于理解的...

    eclipse Kepler Service Release 2

    1. **Java 8支持**:此版本增加了对Java 8语言特性的支持,包括lambda表达式、默认方法、新的日期/时间API等,使开发者能够利用这些新功能进行编程。 2. **改进的Git集成**:Kepler SR2对内置的EGit(Eclipse的Git...

    ssh开发的辅助jar包

    1. **aspectjweaver.jar**:AspectJ是一个强大的面向切面编程(AOP)框架,它允许开发者在不修改原有代码的情况下添加新的行为或监控功能。在SSH开发中,AspectJ Weaver是运行时用于编织切面的组件,它可以将切面...

    geotools学习(一)IntelliJ IDEA搭建快速入门示例.pdf

    - IntelliJ IDEA 默认创建了一个简单的 `App.java`,包含一个简单的 HelloWorld 程序和 JUnit 测试用例。 - 在 `Project Explorer` 中右键点击 `App` 或 `AppTest`,选择 `Run` 运行它们。 #### 六、总结 本...

    Spring-Spring mvc-MyBatis

    1. **创建Maven Web项目**: 使用IDE中的Maven插件创建一个新的Web项目。项目创建过程中,选择合适的父项目和项目模板。 2. **配置POM文件**: 在项目的`pom.xml`文件中添加必要的依赖库,例如Spring、Spring MVC、...

    零基础Appium自动化测试(windows.android)

    - 在Eclipse中创建一个新的Maven项目。 - 如果Eclipse中没有Maven插件,可以通过Eclipse Marketplace搜索并安装。 - 在项目中创建一个名为`apps`的文件夹,用于存放待测试的应用程序。 ##### 2. 导入Selenium和...

    Parasoft_JTest 入门教程-通俗易懂

    - **定义:** 构建一个新的工程项目。 - **作用:** 为测试提供一个干净的起点。 - **使用方法:** 通过JTest或IDE创建新项目,并添加必要的源文件。 - **4.2 检查代码标准** - **定义:** 根据预设的标准检查...

    maven权威指南

    - **3.5.3 Maven坐标 (Coordinates)**:每个Maven项目都有一个唯一的坐标,包括groupId、artifactId和version三个部分。 - **3.5.4 Maven仓库 (Repositories)**:Maven使用仓库来存储项目的依赖库和构建产物,分为...

    Apache Maven 3.doc

    Maven 的插件系统允许开发者轻松地扩展 Maven 的功能,并且这些插件可以在多个项目中重用。 **1.5 “项目”概念模型** Maven 定义了一套标准的项目结构和生命周期,使得不同项目之间的构建流程更加统一和可预测。 ...

    ssm搭建。。。

    SSM框架是Spring、SpringMVC和MyBatis三个开源框架的组合。其中,Spring是整个应用的基础框架,负责管理Bean;SpringMVC作为Spring的一个模块,用来处理Web请求;而MyBatis则是一个优秀的持久层框架,用于简化SQL...

    jsp教程(很好的入门级教程)

    - 实现向数据库中添加新记录的功能。 - **5.6 删除记录** - 实现从数据库中删除记录的功能。 - **5.7 分页显示记录** - 支持分页展示大量数据库记录。 - **5.8 连接数据库的其它方式** - 包括连接Oracle、...

Global site tag (gtag.js) - Google Analytics