Matchers and assertthat
来源:互联网 发布:淘宝供销商平台 编辑:程序博客网 时间:2024/05/03 13:50
assertThat([value],[matcher statement]);
这种断言的优点有:
1.更具有可读性:该语法允许我们以“主谓宾”的方式来思考(assert "x is 3"), 而不是 assertEquals(assert "equals 3 x")。
2.易组合性:任何Matcher语句可以是否定的(not(s)),组合的(either(s).or(t)),映射到组合(each(s)),或者用自定义组合(afterFiveSeconds(s))。
3.易读的失败提示信息。
import static org.junit.Assert.*;import static org.hamcrest.CoreMatchers.*;import org.junit.Test;public class AssertThat {@Testpublic void testMessage(){String s=new String("hello world");assertTrue(s.contains("i")||s.contains("happy"));// failure message: // java.lang.AssertionError:assertThat(s,anyOf(containsString("i"),containsString("happy")));//failure message://java.lang.AssertionError: //Expected: (a string containing "i" or a string containing "happy")//but: was "hello world"}}
4.开发人员可以通过实现Matcher接口,定制自己想要的匹配符。当开发人员发现自己的某些测试代码在不同的测试中重复出现,经常被使用,这时就可以自定义匹配符,将这些代码绑定在一个断言语句中。
junit.jar自带了一些Matcher,定义在org.junit.matchers.JUnitMatchers。为了使用更多的Matcher,我们可以导入hamcrest-core.jar和hamcrest-library.jar。
这是JUnit第一次使用第三方的类。
使用之前需要静态引入Matcher和CoreMatchers包。
- import static org.hamcrest.CoreMatchers.*;
- import static org.hamcrest.Matchers.*;
hamcrest-core.jar和hamcrest-library.jar 下载地址:http://search.maven.org/#search|ga|1|g%3Aorg.hamcrest。
Hamcrest官网:http://hamcrest.org/。
Hamcrest主页:http://code.google.com/p/hamcrest/wiki/Tutorial
Hamcrest整个包在GitHub的下载地址:https://github.com/hamcrest/JavaHamcrest
其他第三方Matcher如下:
- Excel spreadsheet matchers
- JSON matchers
- XML/XPath matchers
- Matchers and assertthat
- Matchers
- JUnit(三)高级之Matchers and assertThat_MD
- assertthat
- assertThat
- assertThat使用
- assertThat详解
- assertThat详解
- assertThat详解
- assertThat使用方法
- assertThat详解
- assertThat使用说明
- assertThat使用方法
- assertThat使用方法
- Junit assertThat
- assertThat用法
- assertThat用法
- assertThat用法
- NSPredicate类的例子程序
- nginx 重定向例子
- jquery.form.js异步提交表单提交验证(不用validate)
- 一个处理短信发送及验证的 Gem - smart_sms
- Binder初尝Ex
- Matchers and assertthat
- Erlang/OTP 17.0-rc1 新引入的"脏调度器"浅析
- dalvik指令的介绍
- C++ vector
- IOS8 插件 (越狱)
- 一个大三菜鸟在帝都,两个月的产品求职经历
- 存储器
- lnsist不是insist
- Ignoring a Test