Usage and Idioms——Assertions

Java提供了断言方法,一般断言方法参数顺序为(期望值,实际值);assertThat和其他断言方法参数顺序是相反的,为(实际值,期望值),assertThat可以结合hamcrest 使用。

Junit的org.junit.Assert类提供了各种断言方法来写junit测试。这些方法被用来检查方法的真实结果值和期望值。基本的断言方法列表:

Junit 4 Assert Methods
MethodDescription
assertNull(java.lang.Object object)检查对象是否为空;如果对象为null则通过测试,反之看作失败
assertNotNull(java.lang.Object object)检查对象是否为空;如果对象不为null则通过测试,反之看作失败
assertEquals(long expected, long actual)检查long类型的值是否相等;如果expected 和 actual不相等则失败,否则通过测试。
assertEquals(Object expected, Object actual)根据equals()方法,如果expected 和 actual不相等则失败,否则通过测试。
assertEquals(int expected, int actual)根据==操作符,如果expected 和 actual不相等则失败,否则通过测试
assertEquals(double expected, double actual, double delta)检查指定精度的double值是否相等;如果expected 和 actual不相等则失败,否则通过测试。
assertFalse(boolean condition)检查条件是否为假;如果condition为true则失败;否则通过测试
assertTrue(boolean condition)检查条件是否为真;如果condition为False则失败;否则通过测试
assertSame(java.lang.Object expected, java.lang.Object actual)检查两个对象引用是否引用同一对象(即对象是否相等);如果expected 和 actual引用不同的内存对象则失败;如果它们引用相同的内存对象则通过测试。两个对象可能并不是相同的,但是它们可能通过equals()方法仍然可以是相等的。
assertNotSame(java.lang.Object unexpected, java.lang.Object actual)

检查两个对象引用是否不引用统一对象(即对象是否不相等);如果expected 和 actual引用相同的内存对象则失败;如果它们引用不同的内存对象则通过测试。

AssertionsTest.Java junit测试用例,显示各种断言方法:

  1. import static org.junit.Assert.*;  
  2.    
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.    
  6. import org.junit.Test;  
  7.    
  8. /** 
  9. * @author javatutorials.co.in 
  10. */  
  11. public class AssertionsTest {  
  12.    
  13.     @Test  
  14.     public void testAssertNull() {  
  15.         String str = null;  
  16.         assertNull(str);  
  17.     }  
  18.    
  19.     @Test  
  20.     public void testAssertNotNull() {  
  21.         String str = "hello Java!!";  
  22.         assertNotNull(str);  
  23.     }  
  24.    
  25.     @Test  
  26.     public void testAssertEqualsLong() {  
  27.         long long1 = 2;  
  28.         long long2 = 2;  
  29.         assertEquals(long1, long2);  
  30.     }  
  31.    
  32.     @Test  
  33.     public void testAssertEqualsDouble() {  
  34.         // test case is successfull as double1 and double 2  
  35.         // differ by 0.001 which is less than our specified delta  
  36.         double double1 = 1.236;  
  37.         double double2 = 1.237;  
  38.         double delta = 0.002;  
  39.         assertEquals(double1, double2, delta);  
  40.     }  
  41.    
  42.     @Test  
  43.     public void testAssertTrue() {  
  44.         List<String> list = new ArrayList<String>();  
  45.         assertTrue(list.isEmpty());  
  46.     }  
  47.    
  48.     @Test  
  49.     public void testAssertFalse() {  
  50.         List<String> list = new ArrayList<String>();  
  51.         list.add("hello");  
  52.         assertFalse(list.isEmpty());  
  53.     }  
  54.    
  55.     @Test  
  56.     public void testAssertSame() {  
  57.         String str1 = "hello world!!";  
  58.         String str2 = "hello world!!";  
  59.         assertSame(str2, str1);  
  60.     }  
  61.    
  62.     @Test  
  63.     public void testAssertNotSame() {  
  64.         String str1 = "hello world!!";  
  65.         String str3 = "hello Java!!";  
  66.         assertNotSame(str1, str3);  
  67.     }  
  68. }

 

转载于:https://www.cnblogs.com/insist8089/p/6383498.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值