`

JUnit4的hamcrest示例

 
阅读更多
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.StringDescription;
import org.junit.Test;

// 静态引用
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;

public class TestHamcrest {
	
	@SuppressWarnings("unchecked")
	@Test
	public void test(){
		
		// is
		assertThat("Hello", is(is(is(is(notNullValue())))));
		assertThat(2 + 2, is(4));
	
		// equalTo 
		assertThat(2 + 2, is(equalTo(4)));
		assertThat(2 + 2, is(is(4)));
		
		// instanceOf
		assertThat("Hello", is(instanceOf(String.class)));
		assertThat("Hello", instanceOf(String.class));
		
		// not
		assertThat("Hello", is(not(instanceOf(Integer.class))));
		
		// notNullValue
		assertThat("Hello", is(notNullValue()));
		
		// nullValue
		assertThat("Hello", is(not(nullValue())));
		
		// any 用于验证class或superClass
		assertThat("Hello", is(any(String.class)));
		
		// allOf 满足所有条件
		assertThat("Hello", is(allOf(notNullValue(), instanceOf(String.class), equalTo("Hello"))));
		
		// anyOf 满足条件之一
		assertThat("Hello", is(anyOf(notNullValue(), instanceOf(String.class), equalTo("GoodBye"))));
		
		// not(allOf) 不满足条件之一
		assertThat("Hello", is(not(allOf(notNullValue(), instanceOf(Integer.class)))));
		
		// not(anyOf) 所有条件都不满足
		assertThat("Hello", is(not(anyOf(nullValue(), instanceOf(Integer.class), equalTo("GoodBye")))));
		
		// anything 永远为真
		assertThat(null, is(anything()));
		
		// sameInstance
		Integer i = 1;
		assertThat(i, is(sameInstance(1)));
		
		// describedAs 重写某个Matcher的描述
		Matcher<?> matcher = describedAs("My description", anything());
		Description desc = new StringDescription().appendDescriptionOf(matcher);
		assertThat("My description", is(desc.toString()));
		
	}
}

 

分享到:
评论

相关推荐

    JUnit4基础文档

    JUnit4使用Hamcrest断言机制,提供了多种断言方式,例如: * `assertThat(n, allOf(greaterThan(1), lessThan(15)))`:断言n大于1小于15 * `assertThat(str, is("bjsxt"))`:断言str等于“bjsxt” * `assertThat(d,...

    junit单元测试架包及依赖集成版(包含hamcrest-all-1.3.jar、junit-4.12.jar、mockito-all-1.10.19.jar)

    junit单元测试所需架包及依赖集成版(包含hamcrest-all-1.3.jar、junit-4.12.jar、mockito-all-1.10.19.jar),引入项目即可直接使用,不依赖网络 使用教程及自动化测试示例 请看...

    JUGF-TDD:JUGF讲座的材料“使用JUnit4和Hamcrest Matchers进行测试驱动的开发”

    在简短介绍了测试驱动开发的基础知识之后,通过一些示例在常规表格中展示了JUnit 4的使用。 我们处理了一些高级功能,包括TestRunner,理论,参数和规则。 此外,还显示了如何使用Hamcrest匹配器提高保证的可读性并...

    powermock-with-mockito-core:带有 mockito-core 而不是 mockito-all 的 PowerMock

    c) 如果 JUnit 不是显式依赖而是 powermock-module-junit4 的瞬态依赖,则 powermock-api-mockito 的 Hamcrest 1.1 依赖获胜,测试失败。 d) 如果 Hamcrest 1.3 是一个显式依赖项,它就会获胜并且测试运行良好。 ...

    spring-boot-rest-api-tdd:示例Spring Boot应用程序演示了REST API的测试优先开发

    Spring Boot REST API TDD 演示REST API的Spring Boot应用...jUnit,Hamcrest和Mockito的spring-boot-starter-test 具有单独测试和集成测试源集的Gradle构建系统 ./gradlew test以运行单元测试 ./gradlew integration

    jtechlog-jpa-descartes:JPA具有多个一对多连接

    JTechLog JPA 有多个一对多连接 该程序是JTechLog ( ) 博客上的“JPA 多一对多连接”文章的示例程序。... 使用的技术:Spring、Hibernate、HSQLDB、SLF4J、Log4J、JUnit、Hamcrest、Maven gmail 上的 viczian.istvan

    petstore:我正在构建的示例应用程序是为了展示我的技能并为潜在员工客户学习新技能 - WIP

    宠物店项目概述供潜在雇主/客户审查的示例项目。 计划是记录我的知识/学习如何做你需要什么才能开始#####Java 开发人员环境6.0 或更高版本,推荐 7.0 版本Java... Hamcrest - Mockito - #####日志记录SLF4J - LOGback -

    hadoop-memory-filesystem:这是一个基于内存的 Hadoop 文件系统实现,用于测试在 Hadoop 环境中运行的代码

    以下示例显示如何使用InMemoryFileSystem测试 Mapper。 包 ras.test.hadoop.fs; 导入静态 org.hamcrest.CoreMatchers.equalTo; 导入静态 org.hamcrest.CoreMatchers.is; 导入静态 org.junit.Assert.assertNotNull...

    dev-bookshelf-redis-heroku:使用Spring Boot + MongoDB + Heroku的演示应用程序

    ## Spring Boot + Thymeleaf + Redis + Heroku ##这...测试(JUnit / Mockito / MockMVC / AssertJ / Hamcrest) Java 8,Spring Security 3.2,Maven 3,SLF4J,Logback,Bootstrap 3.3.4,jQuery 1.11.2,i18n等 ###

    coding-sessions

    这将引导一个具有以下内容的项目: guice和multibindings(用于依赖注入的guice扩展) Lombok消除锅炉板屑用于静态代码分析的Spotbug junit,mockito和hamcrest用于单元测试&lt;dependencies&gt;&lt;dependency&gt;&lt;groupId&gt;...

    DigitalInnovationOneDesafio_TestesUnitarios:用于存储在实时编码中执行的单元测试的代码的存储库

    Java单元测试的主要框架:JUnit,Mockito和Hamcrest。 开发单元测试以验证基本功能:创建,列出,按名称咨询和排除啤酒。 TDD:两种重要功能的介绍和实际示例:库存中啤酒数量的增加和减少。 要在终端上运行项目,...

    projeto_teste_unitario

    Java单元测试的主要框架:JUnit,Mockito和Hamcrest。 开发单元测试以验证基本功能:创建,列出,按名称咨询和排除啤酒。 TDD:两种重要功能的介绍和实际示例:库存中啤酒数量的增加和减少。 要在终端上运行项目...

    beer_api_digital_innovation_one

    Java单元测试的主要框架:JUnit,Mockito和Hamcrest。 开发单元测试以验证基本功能:创建,列出,按名称咨询和排除啤酒。 TDD:两种重要功能的介绍和实际示例:库存中啤酒数量的增加和减少。 要在终端上运行项目,...

    beer-stock-api

    Java单元测试的主要框架:JUnit,Mockito和Hamcrest。 开发单元测试以验证基本功能:创建,列出,按名称咨询和排除啤酒。 TDD:两种重要功能的介绍和实际示例:库存中啤酒数量的增加和减少。 要在终端上运行项目,...

    rest-api-unit-tests

    Java单元测试的主要框架:JUnit,Mockito和Hamcrest。 开发单元测试以验证基本功能:创建,列出,按名称咨询和排除啤酒。 TDD:两种重要功能的介绍和实际示例:库存中啤酒数量的增加和减少。 要在终端上运行项目,...

    digitalinnovation

    Java单元测试的主要框架:JUnit,Mockito和Hamcrest。 开发单元测试以验证基本功能:创建,列出,按名称咨询和排除啤酒。 TDD:两种重要功能的介绍和实际示例:库存中啤酒数量的增加和减少。 要在终端上运行项目,...

    collect-provided-dependencies

    展示如何使用 Aether 收集所有依赖项(提供、测试等)的示例。 为 junit:junit-dep:jar:4.10 给出这个输出 junit:junit-dep:jar:4.10 () org.hamcrest:hamcrest-core:jar:1.1 (compile) jmock:jmock:jar:1.1.0 ...

    MarsRoverTDD

    火星漫游者 美国国家航空航天局将在火星高原上降落一队机器人漫游车。 这个奇异的矩形高原必须由漫游者进行导航,以便其车载摄像头能够获得... [4] Hamcrest Core 1.3 输入 输入的第一行是平台的右上角坐标,假定左下角

    MarsRoverRelease3

    火星漫游者美国国家航空航天局将在火星高原上降落一队机器人漫游车。... 要求该应用程序的要求是: [1] IntelliJ IDEA [2]蚂蚁[3] JUnit 4.11 [4] Hamcrest Core 1.3输入输入的第一行是平台的右上角坐标,假定左下角

Global site tag (gtag.js) - Google Analytics