使用Hamcrest增强JUnit的测试能力
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                使用Hamcrest增强JUnit的测试能力
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            package com.jadyer.service;import java.util.HashMap;
import java.util.Map;import org.hamcrest.Matchers;
import org.junit.Assert;
import org.junit.Test;/*** 使用Hamcrest增強JUnit的測試能力* @see Hamcrest框架提供了一些相對通俗并高效的方法來進行一些junit比較困難的測試* @see 比如比較數值大小、測試對象類型、測試數組元素等等* @see Hamcrest下載地址為https://code.google.com/p/hamcrest/downloads/list* @see JUnit下載地址為https://github.com/junit-team/junit/wiki/Download-and-Install* @see ------------------------------------------------------------------------------------------------* @see 1)所需jar(有兩個)* @see   junit-4.10.jar* @see   hamcrest-all-1.3.jar* @see ------------------------------------------------------------------------------------------------* @see 2)注意事項* @see   測試時可能報告類似這個的異常java.lang.NoSuchMethodError: org.hamcrest.core.AllOf.allOf* @see   這時只需將hamcrest.jar移到junit.jar的前面就可以了,否則組合條件如allOf、anyOff等都會拋此異常* @see ------------------------------------------------------------------------------------------------* @create Jul 6, 2013 5:11:27 PM* @author 玄玉<http://blog.csdn.net/jadyer>*/
public class TestByHamcrest {/*** 如果用的是JUnit-4.10,那么這里可以使用org.junit.Assert類,它提供了assertThat的功能* 如果用的是JUnit低版本,如MyEclipse6.5自帶的JUnit-4.3.1則未提供Assert.assertThat功能* 這時可以使用hamcrest-all-1.3.jar自帶的org.hamcrest.MatcherAssert.assertThat()方法*/@Testpublic void testHamcrest(){//50是否大于20Assert.assertThat(50, Matchers.greaterThan(20));//50是否大于或等于50Assert.assertThat(50, Matchers.greaterThanOrEqualTo(50));//50是否即大于20又小于60(allOf方法類似于Java中的&&)Assert.assertThat(50, Matchers.allOf(Matchers.greaterThan(20), Matchers.lessThan(60)));//50是否大于20或小于40(anyOf方法類似于Java中的||)Assert.assertThat(50, Matchers.anyOf(Matchers.greaterThan(20), Matchers.lessThan(40)));//測試"abc.txt"是否以"txt"結束Assert.assertThat("abc.txt", Matchers.endsWith("txt"));Assert.assertThat("abc.txt", Matchers.startsWith("ab"));Assert.assertThat("abc.txt", Matchers.containsString("c.t"));Assert.assertThat(22+"aa", Matchers.hasToString("22aa"));Assert.assertThat("http://blog.csdn.net/jadyer", Matchers.instanceOf(String.class));Assert.assertThat("http://blog.csdn.net/jadyer", Matchers.notNullValue());Assert.assertThat(null, Matchers.nullValue());//針對集合的測試String[] users = {"玄玉", "Jadyer"};Assert.assertThat(users, Matchers.hasItemInArray("玄玉"));Map<String, String> userMap = new HashMap<String, String>();userMap.put("11", "玄玉");userMap.put("22", "Jadyer");userMap.put("33", "http://blog.csdn.net/jadyer");Assert.assertThat(userMap, Matchers.hasKey("22"));Assert.assertThat(userMap, Matchers.hasValue("http://blog.csdn.net/jadyer"));}
}
 
                        
                        
                        轉載于:https://www.cnblogs.com/dyllove98/p/3180039.html
總結
以上是生活随笔為你收集整理的使用Hamcrest增强JUnit的测试能力的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: windbg script ---- 禁
 - 下一篇: iOS modal view的关闭和显示