首页 > 其他分享 >Assert断言方法简述

Assert断言方法简述

时间:2022-11-09 16:01:11浏览次数:50  
标签:actual 断言 Object Assert 简述 run message String

Assert的可用方法

Jdk在1.4的时候,引入了assert关键字,这个assert关键字后面只可以接一个boolean类型,不为true的话,会抛出AssertionError(extends Error) junit扩展了它的方法,使得有一些更方便的API(抛出的异常跟上面的一致)

Junit包Assert的方法

// 带message的是,断言失败的话,需要打印的字符串
// 对那些仅仅是判断的参数的类型不一致的方法,就没全部复制过来了
// 断言条件为true
assertTrue(String message, boolean condition);
assertTrue(boolean condition);
// false
assertFalse(String message, boolean condition);
assertFalse(boolean condition);
// 直接抛出异常
fail()
fail(String message)
// 断言是相等的
assertEquals(Object expected,Object actual)
assertEquals(String message, Object expected, Object actual)
// 断言是不相等的
assertNotEquals(Object unexpected, Object actual)
assertNotEquals(String message, Object unexpected, Object actual) 
// 断言数组里元素是否一致
assertArrayEquals(String message, Object[] expecteds, Object[] actuals)
// object为null
assertNotNull(Object object)
assertNull(String message, Object object)
// object不为null
assertNotNull(Object object)
assertNotNull(String message, Object object)
// 2者是相同的引用
assertSame(Object expected, Object actual)
assertSame(String message, Object expected, Object actual)
// 2者是不同的引用
assertNotSame(Object unexpected, Object actual)
assertNotSame(String message, Object unexpected, Object actual)
//断言runnable(ThrowingRunnable)会抛出一个异常是expectedThrowable类型的异常,
//是的话,这个异常不会抛出来(线程不需要自己run,这方法内部会自己run)
assertThrows(Class<T> expectedThrowable,ThrowingRunnable runnable)

//assertThrows的示例代码
//自己运行
 ThrowingRunnable throwingRunnable = new ThrowingRunnable() {
            @Override
            public void run() throws Throwable {
                System.out.println(1 / 0);
            }
        };
        throwingRunnable.run();
//控制台输出
java.lang.ArithmeticException: / by zero
at aboutassert.AssertStudy$1.run(AssertStudy.java:35)
at aboutassert.AssertStudy.test03(AssertStudy.java:40)
//使用断言
 ThrowingRunnable throwingRunnable = new ThrowingRunnable() {
            @Override
            public void run() throws Throwable {
                System.out.println(1 / 0);
            }
        };
        ArithmeticException arithmeticException = Assert.assertThrows(ArithmeticException.class, throwingRunnable);
        System.out.println(arithmeticExce
ption);
//控制台输出(这个是自己打印的,不然是不会有输出的)
java.lang.ArithmeticException: / by zero

  

具体的使用,目前我还只在单元测试的时候使用了。后续有匹配的使用场景的话,会再次进行更新

标签:actual,断言,Object,Assert,简述,run,message,String
From: https://www.cnblogs.com/wecantstop/p/16874090.html

相关文章