assertThat
JUnit4.4引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,这些匹配符更接近自然语言,可读性高,更加灵活
/**equalTo匹配符断言被测的testedValue等于expectedValue,
* equalTo可以断言数值之间,字符串之间和对象之间是否相等,相当于Object的equals方法
*/
assertThat(testedValue, equalTo(expectedValue));
/**equalToIgnoringCase匹配符断言被测的字符串testedString
*在忽略大小写的情况下等于expectedString
*/
assertThat(testedString, equalToIgnoringCase(expectedString));
/**equalToIgnoringWhiteSpace匹配符断言被测的字符串testedString
*在忽略头尾的任意个空格的情况下等于expectedString,
*注意:字符串中的空格不能被忽略
*/
assertThat(testedString, equalToIgnoringWhiteSpace(expectedString);
/**containsString匹配符断言被测的字符串testedString包含子字符串subString**/
assertThat(testedString, containsString(subString) );
/**endsWith匹配符断言被测的字符串testedString以子字符串suffix结尾*/
assertThat(testedString, endsWith(suffix));
/**startsWith匹配符断言被测的字符串testedString以子字符串prefix开始*/
assertThat(testedString, startsWith(prefix));
/**nullValue()匹配符断言被测object的值为null*/
assertThat(object,nullValue());
/**notNullValue()匹配符断言被测object的值不为null*/
assertThat(object,notNullValue());
/**is匹配符断言被测的object等于后面给出匹配表达式*/
assertThat(testedString, is(equalTo(expectedValue)));
/**is匹配符简写应用之一,is(equalTo(x))的简写,断言testedValue等于expectedValue*/
assertThat(testedValue, is(expectedValue));
/**is匹配符简写应用之二,is(instanceOf(SomeClass.class))的简写,
*断言testedObject为Cheddar的实例
*/
assertThat(testedObject, is(Cheddar.class));
/**not匹配符和is匹配符正好相反,断言被测的object不等于后面给出的object*/
assertThat(testedString, not(expectedString));
/**allOf匹配符断言符合所有条件,相当于“与”(&&)*/
assertThat(testedNumber, allOf( greaterThan(8), lessThan(16) ) );
/**anyOf匹配符断言符合条件之一,相当于“或”(||)*/
assertThat(testedNumber, anyOf( greaterThan(16), lessThan(8) ) );
/**closeTo匹配符断言被测的浮点型数testedDouble在20.0¡À0.5范围之内*/
assertThat(testedDouble, closeTo( 20.0, 0.5 ));
/**greaterThan匹配符断言被测的数值testedNumber大于16.0*/
assertThat(testedNumber, greaterThan(16.0));
/** lessThan匹配符断言被测的数值testedNumber小于16.0*/
assertThat(testedNumber, lessThan (16.0));
/** greaterThanOrEqualTo匹配符断言被测的数值testedNumber大于等于16.0*/
assertThat(testedNumber, greaterThanOrEqualTo (16.0));
/** lessThanOrEqualTo匹配符断言被测的testedNumber小于等于16.0*/
assertThat(testedNumber, lessThanOrEqualTo (16.0));
/**hasEntry匹配符断言被测的Map对象mapObject含有一个键值为"key"对应元素值为"value"的Entry项*/
assertThat(mapObject, hasEntry("key", "value" ) );
/**hasItem匹配符表明被测的迭代对象iterableObject含有元素element项则测试通过*/
assertThat(iterableObject, hasItem (element));
/** hasKey匹配符断言被测的Map对象mapObject含有键值“key”*/
assertThat(mapObject, hasKey ("key"));
/** hasValue匹配符断言被测的Map对象mapObject含有元素值value*/
assertThat(mapObject, hasValue(value));
分享到:
相关推荐
总的来说,"junit4hamcrest jar包"是Java开发中进行单元测试时的重要工具,它将JUnit的测试框架和Hamcrest的匹配器完美结合,让测试代码更加优雅,提高了测试的可读性和可维护性。对于任何Java开发者来说,理解和...
例如,assertThat()函数结合Hamcrest的匹配器,可以非常直观地表达复杂的断言,如`assertThat(result, equalTo(expected))`,这将检查result是否等于expected。 Junit4.9b3与Hamcrest的集成,使得测试更加高效。...
4. **与JUnit和其他测试框架兼容**:除了JUnit,Hamcrest还可以与其他Java测试框架如TestNG集成。 在实际项目中,我们通常会将这两个库结合使用。首先,使用JUnit的注解和测试结构来定义测试用例,然后利用Hamcrest...
Junit提供了测试框架和基础断言,而Hamcrest则增强了匹配和断言的能力,让测试更加灵活和易懂。在进行Java项目开发时,熟练掌握这两款工具的使用,不仅可以提高代码质量,还能提升团队的开发效率,减少因错误未发现...
JUnit 4.12 和 Hamcrest Core 1.3 是两个在Java开发中广泛使用的单元测试框架的重要组件。本文将详细介绍这两个库的功能、用途以及如何在Eclipse集成开发环境中使用它们进行单元测试。 JUnit是Java编程语言的一个...
标题中的“junit-4.12.jar + hamcrest 亲测可用的”指的是一个包含Junit 4.12版本和Hamcrest 1.3版本的测试框架组合,这个组合经过验证是能够正常工作的。在Java开发中,单元测试是确保代码质量的重要环节,而Junit...
Junit4是JUnit框架的一个版本,它引入了注解(Annotation)来简化测试用例的编写,使得测试代码更加简洁、易读。在Java项目中,你可以通过以下步骤来搭建Junit4环境: 1. **添加依赖**:如果你使用的是Maven或...
在Java领域,JUnit是广泛使用的单元测试框架,而Hamcrest则是一个匹配器库,为断言提供更清晰和可读性强的表达方式。本文将详细介绍JUnit4.13和Hamcrest-all-1.3这两个jar包及其源码。 JUnit4是JUnit系列的一个版本...
Junit 4.12 和 hamcrest-core 1.3 是两个重要的测试框架,它们在软件开发中扮演着至关重要的角色,特别是在Java编程环境中。本文将深入探讨这两个工具包的功能、用途以及如何在项目中使用它们。 首先,Junit 是一个...
Junit4.12与Hamcrest1.3是Java编程领域中两个重要的单元测试框架,它们为开发者提供了方便、强大的测试工具。在这个压缩包中,包含了以下四个JAR文件: 1. `junit-4.12.jar`:这是JUnit 4.12的主要库文件,它提供了...
`JUnit` 是一个广泛使用的 Java 语言的单元测试框架,而 `Hamcrest` 是一个匹配对象的库,它提供了丰富的断言方法,使得测试更加清晰和简洁。 `JUnit 4.11` 是 `JUnit` 的一个重要版本,它引入了许多增强功能和改进...
Junit,作为Java编程语言中最广泛使用的单元测试框架,是开发者进行代码质量验证的得力工具。Junit 4.11和4.12版本是其历史上的重要里程碑,提供了丰富的功能和改进,使得单元测试变得更加便捷和高效。这两个版本的...
其中,注解(Annotation)是Junit 4的一大特色,如`@Test`用于标记测试方法,`@Before`和`@After`分别用于在每个测试之前和之后执行的设置和清理操作。此外,`@Ignore`可以忽略某个测试,而`@Expected`则可以指定...
1. JUnit框架: - **基本概念**:JUnit是一个用于自动化Java代码测试的框架,它提供了一组注解(如@Test、@Before、@After)和断言方法,帮助开发者编写简洁、可读的测试用例。 - **版本更新**:"最新"可能指的是...
`junit-4.12.jar`包含了JUnit框架的核心类库,包括测试注解(如@Test、@Before、@After、@Ignore等)、测试运行器、异常处理和结果报告等功能。通过这些功能,开发者可以快速创建测试类和测试方法,对代码进行验证。...
在Java中,JUnit是广泛使用的单元测试框架,而Hamcrest则是一个匹配库,提供了丰富的断言方法,使得测试表达更加清晰。下面我们将深入探讨这两个库以及如何在Java项目中使用它们。 **JUnit4.jar**: JUnit4是JUnit...
JUnit是一款广泛使用的Java编程语言的单元测试框架,它允许开发者编写可执行的测试用例来验证代码功能。Hamcrest则是一个匹配器库,常用于断言,使测试表达更加清晰且强大。当我们需要生成HTML格式的测试报告时,这...
总之,这个压缩包包含的三个库——JUnit 4.12, Hamcrest-Core-1.3和System-Rules-1.18.0,是Java开发者进行单元测试和学习Spring框架不可或缺的工具。它们共同为编写可维护、可扩展且可靠的Java应用程序提供了坚实的...
JUnit是Java编程语言中最广泛使用的单元测试框架,它由Ernst Leimer和Kent Beck开发,目前版本已更新至JUnit5,但这里提到的是4.12版。JUnit 4.12提供了编写和执行测试用例的强大工具,使得开发者可以方便地对代码...