Hamcrest是一个协助编写用Java语言进行软件测试的框架。它支持创建自定义的断言匹配器（assertion matchers）（名称“Hamcrest”即为“matchers”的异位构词），允许声明式定义匹配规则。这些匹配器在单元测试框架（例如JUnit和jMock）中有用。Hamcrest已经被移植到Java、C++、Objective-C、Python、ActionScript 3、PHP、JavaScript和Erlang.
解释.“第一代”的单元测试框架提供了一个