Junit——Asrt断⾔
qq远程桌面junit.framework包下的Asrt提供了多个断⾔⽅法. 主⽤于⽐较测试传递进去的两个参数.Asrt断⾔的使⽤⽐较简单,主要有以下函数: Asrt.asrtEquals([String message],T expected,T actual)
⽐较两个参数是否相等,message是可选的消息,假如加⼊了该参数,则发⽣错误时会报告该消息。如果 expected,actual,返回true。否则调⽤expected.equals(actual)来判断。
Asrt.asrtNotEquals([String message],T expected,T actual)
⽐较两个参数是否不相等,message是可选的消息,假如加⼊了该参数,则发⽣错误时会报告该消息。肉馅
Asrt.asrtSame([String message],T expected,T actual)
以expected==actual运算的结果来判断。
expected.equals(actual) 和 expected==actual 的差别在于。如果expected没有重写java.lang.Object的equals⽅法,那么就是两个java对象的内存地址⽐较,⽐较结果和 expected==actual的结果相同。如果expected重写了equals⽅法(⽐如GregorianCalendar,BigDecimal 类),那么⽐较的结果不⼀定和expected==actual的结果相同。
Asrt.asrtNotSame([String message],T expected,T actual)
以expected != actual运算的结果来判断。如果expected没有重写java.lang.Object的equals⽅法,那么就是两个java对象的内存地址⽐较,⽐较结果和 expected != actual的结果相同。如果expected重写了equals⽅法(⽐如GregorianCalendar,BigDecimal类),那么⽐较的结果不⼀定和expected !=actual的结果相同。
Asrt.asrtTrue([String message],boolean condition)
如果表达式condition结果为真,则测试通过,message为可选信息,若有则condition结果为假时显⽰message的内容
Asrt.asrtFal([String message],boolean condition)
如果表达式condition结果为假,则测试通过,message为可选信息,若有则condition结果为真时显⽰message的内容
Asrt.asrtArrayEquals([String message], Object[] expected, Object[] actual)
以最直接的⽅式⽐较数组:如果数组长度相同,且每个对应的元素相同,则两个数组相等,否则不相等。数组为空的情况也作了考虑。message 为可选信息,若不相等则会打印message。
Asrt.asrtNotNull([String message], Object object)
断⾔object为空,message为可选信息,若不为空打印message
Asrt.asrtNotNull([String message], Object object)
断⾔object不为空,message为可选信息,若为空打印message人工智能翻译
甘为人梯Asrt.asrtThat([String reason],T actual, Matcher matcher)
其中actual为需要测试的变量,matcher为使⽤Hamcrest的匹配符来表达变量actual期望值的声明;asrtThat是Junit 4.4加⼊的新⽅法,理论上讲程序员可以只使⽤ asrtThat ⼀个断⾔语句,结合 Hamcrest 提供的匹配符,就可以表达全部的测试思想。
核⼼匹配符
森林报作者
1、asrtThat( T actual, allOf( greaterThan(number1), lessThan(numer2) ) )
allOf匹配符表明如果接下来的所有条件必须都成⽴测试才通过,相当于“与”(&&)
2、asrtThat( T actual, anyOf( greaterThan(number1), lessThan(number2) ) )
王大福anyOf匹配符表明如果接下来的所有条件只要有⼀个成⽴则测试通过,相当于“或”(||)
3、asrtThat( T actual, anything() )
anything匹配符表明⽆论什么条件,永远为true
4、asrtThat( T actual, is(T expected ) )
is匹配符表明如果前⾯actual等于expected,则测试通过
5、asrtThat( T actual, not( T expected ) )
not匹配符和is匹配符正好相反,表明如果actual不等于expected,则测试通过
6、asrtThat(T actual,comparesEqualTo(T expected))
comparesEqualTo表⽰将actual和expected进⾏⽐较,只要在"数值"上相等即测试通过,⽐如1和1,"1"和"1"
字符串相关匹配符
1、asrtThat( T actual, containsString( String s ) )
砂石料场
containsString匹配符表明如果测试的字符串actual包含⼦字符串s则测试通过
2、asrtThat( String actual, endsWith( String s ) )
mv命令endsWith匹配符表明如果测试的字符串actual以⼦字符串s结尾则测试通过
3、asrtThat( String actual, startsWith( String s ) )
startsWith匹配符表明如果测试的字符串actual以⼦字符串s开始则测试通过
4、asrtThat( T actual, equalTo( T excepted ) )
equalTo匹配符表明如果actual等于excepted则测试通过,equalTo可以测试数值之间,字符串之间和对象之间是否相等,相当于Object的equals⽅法
5、asrtThat( String actual, equalToIgnoringCa( String s ) )
equalToIgnoringCa匹配符表明如果actual在忽略⼤⼩写的情况下等于s则测试通过
6、asrtThat( String actual, equalToIgnoringWhiteSpace( String s ) )
equalToIgnoringWhiteSpace匹配符表明如果actual在忽略头尾的任意个空格的情况下等于s则测试通过,注意:字符串中的空格不能被忽略
数值相关匹配符
1、asrtThat( T actual, cloTo( Number, precision ) )
cloTo匹配符表明如果所测试的浮点型数actual在Number±precision范围之内则测试通过
2、asrtThat( T actual, greaterThan(Number) )
greaterThan匹配符表明如果所测试的数值actual⼤于Number则测试通过
3、asrtThat( T actual, lessThan (Number) )
lessThan匹配符表明如果所测试的数值actual⼩于Number则测试通过
4、asrtThat( T actual, greaterThanOrEqualTo (Number) )
greaterThanOrEqualTo匹配符表明如果所测试的数值actual⼤于等于Number则测试通过
5、asrtThat( T actual, lessThanOrEqualTo (Number) )
lessThanOrEqualTo匹配符表明如果所测试的数值actual⼩于等于Number则测试通过
colle ction相关匹配符
1、asrtThat( mapObject, hasEntry( "key", "value" ) )
hasEntry匹配符表明如果测试的Map对象mapObject含有⼀个键值为"key"对应元素值为"value"的Entry项则测试通过
2、asrtThat( iterableObject, hasItem ( "element" ) )
hasItem匹配符表明如果测试的迭代对象iterableObject含有元素“element”项则测试通过
3、asrtThat( mapObject, hasKey ( "key" ) )
hasKey匹配符表明如果测试的Map对象mapObject含有键值“key”则测试通过
4、asrtThat( mapObject, hasValue ( "key" ) )
hasValue匹配符表明如果测试的Map对象mapObject含有元素值“value”则测试通过