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())); } }
相关推荐
在"Junit和hamcrest.zip"这个压缩包中,可能包含了用于生成HTML测试报告的配置文件、示例代码或依赖库。你可以解压并参考其中的内容,学习如何在你的项目中集成JUnit和Hamcrest,以及如何配置生成HTML测试报告。 ...
以下是如何在Junit测试中使用Hamcrest的示例: ```java import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.assertThat; import org.junit.Test; public class MyTest { @Test public ...
JUnit4使用Hamcrest断言机制,提供了多种断言方式,例如: * `assertThat(n, allOf(greaterThan(1), lessThan(15)))`:断言n大于1小于15 * `assertThat(str, is("bjsxt"))`:断言str等于“bjsxt” * `assertThat(d,...
`hamcrest-core-1.3.jar`是Hamcrest库的核心组件,它是JUnit4的一个关键依赖。Hamcrest提供了一种声明式的匹配器,用于构建断言,使得测试代码更加清晰和易读。在JUnit4中,我们常常会使用Hamcrest的匹配器来定义...
4. **断言和比较**:JUnit 5提供了丰富的断言方法,如assertEquals、assertNotEquals、assertTrue、assertFalse等,还有Hamcrest匹配器的集成,使得断言表达更加清晰。 5. **注解的条件化**:通过@EnabledOnOs、@...
- `JUnit4.docx`可能是详细的JUnit4教程文档,包括概念解释和示例代码。 - `JUnit4_src.rar`可能包含了一些JUnit4的测试源码,可以下载后进行实际操作和学习。 - `junit&hamcrest基础jar包.rar`提供了JUnit和...
《Junit 4.12 和 Hamcrest Core 1.3:Java单元测试的重要伙伴》 在Java开发中,单元测试是确保代码质量的关键环节,它可以帮助开发者在早期发现并修复错误,避免了后期集成阶段可能出现的问题。在这里,我们要探讨...
以下是一个简单的使用JUnit和Hamcrest进行单元测试的Java代码示例: ```java import static org.junit.Assert.assertEquals; import static org.hamcrest.CoreMatchers.is; import org.junit.Test; public class ...
本文将深入探讨JUnit的学习,特别是结合Hamcrest和TestSuite的使用,以及阐述一些重要的测试原则。 首先,JUnit是Java编程语言的一个单元测试框架,它允许开发者编写可重复执行的测试用例,以验证代码功能的正确性...
以下是一个简单的示例,展示了 JUnit 和 Hamcrest 结合使用的单元测试: ```java import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.hamcrest.MatcherAssert.assertThat; ...
- `junit&hamcrest基础jar包.rar`是JUnit和Hamcrest库的压缩包,解压后可以导入到Java项目中以运行JUnit测试,同时使用Hamcrest的匹配器。 - `read.txt`可能包含了使用这些库的说明或额外的指南。 掌握JUnit对于...
junit单元测试所需架包及依赖集成版(包含hamcrest-all-1.3.jar、junit-4.12.jar、mockito-all-1.10.19.jar),引入项目即可直接使用,不依赖网络 使用教程及自动化测试示例 请看...
在简短介绍了测试驱动开发的基础知识之后,通过一些示例在常规表格中展示了JUnit 4的使用。 我们处理了一些高级功能,包括TestRunner,理论,参数和规则。 此外,还显示了如何使用Hamcrest匹配器提高保证的可读性并...
本资源"JUnit_03.zip"是JUnit4视频教程的一部分,可能包括视频课程、源码示例以及相关文档,旨在帮助学习者深入理解并实践单元测试。 在`JUnit4`中,以下是一些关键知识点: 1. **测试注解(Annotations)**:...
4. 描述性异常:当匹配失败时,Hamcrest会生成详细的错误消息,便于定位问题。 在实际项目中,Hamcrest常与JUnit或其他测试框架结合使用。例如,我们可以在JUnit的assertThat()方法中传递Hamcrest的Matcher,来构建...
源码部分应包含了示例测试类和被测试的业务逻辑代码,学习者可以通过运行这些代码来实践和理解JUnit4的各种功能。解压文件后,可以导入IDE,如Eclipse或IntelliJ IDEA,直接运行测试,观察测试结果,调试问题,从而...
4. **在Eclipse中配置JUnit**:Eclipse允许用户通过“构建路径”配置来添加JUnit库,并创建JUnit测试项目。配置完成后,可以直接在IDE中运行测试用例,并查看详细的测试结果。 5. **JUnit测试的步骤**:包括创建...
import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class IntegrationTest { @Test public void testService() { // 在这里进行集成测试 } ...