guava-Preconditions

1.checkNotNull(T reference, @Nullable Object errorMessage) :null则抛异常
此方法返回的是T本身
 @Test
   public void testCheckNotNull() {
   Preconditions.checkNotNull(null,"不能为空");// 抛出空指针异常并输出errorMessage
   System.out.println("还继续执行吗?");// 未执行.
}
  @Test
    public void testCheckNotNull() {
        List<String> list = Lists.newArrayList();
        String name ="lisi";
        Preconditions.checkNotNull(list, "不能为空").add(name);// 如果是null则抛出空指针异常并输出errorMessage
        System.out.println(list);//[lisi]
    }
 
2.checkArgument(boolean expression, @Nullable Object errorMessage): expression为false则抛出异常
@Test
   public void testCheckArgument() {
       Source source = new Source();
System.out.println(source.getList());//空集合 List:[]       
        Preconditions.checkArgument(CollectionUtils.isNotEmpty(source.getList()),"集合不能为空");// 抛出参数异常并输出    
        System.out.println("还继续执行吗?");// 未执行.
}

3.checkState(boolean expression, @Nullable Object errorMessage):

@Test
    public void testPrecondition() {
        int i = 10;
        Preconditions.checkState(i != 10, "状态异常");
    }
报错:
java.lang.IllegalStateException: 状态异常

    at com.google.common.base.Preconditions.checkState(Preconditions.java:174)
    at com.saic.ebiz.ssc.clearing.utils.FileUtilTest.testPrecondition(FileUtilTest.java:86)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:701)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:893)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1218)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
    at org.testng.TestRunner.privateRun(TestRunner.java:758)
    at org.testng.TestRunner.run(TestRunner.java:613)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
    at org.testng.SuiteRunner.run(SuiteRunner.java:240)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:87)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1170)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1095)
    at org.testng.TestNG.run(TestNG.java:1007)
    at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
    at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)

 

 
 

posted @ 2018-02-01 14:18  jiabei  阅读(182)  评论(0)    收藏  举报