Refresh-air

清风明月本无价 近水远山皆有情
记载自己在码砖过程中遇到的点点滴滴.......

 

Mockito之doThrow

1、如果一个对象的方法的返回值是 void,那么不能用 when … thenThrow 让该方法抛出异常。

(1)如果有返回值,下面这种写法是错误的:
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import static org.mockito.Mockito.when;

public class MockitoDemo {
    static class ExampleService {
        public void hello() {
            System.out.println("Hello");
        }
    }

    @Mock
    private ExampleService exampleService;
    @Test
    public void helloCase1() {
        // 这句编译不通过,IDE 也会提示错误,原因很简单,when 的参数是非 void
        when(exampleService.hello()).thenThrow(new RuntimeException("异常"));
// 这种写法可以达到效果
       doThrow(new RuntimeException("异常")).when(exampleService).hello();
    }
}

 友情链接:mockito框架使用总结

posted on 2024-03-29 09:45  笑清风  阅读(348)  评论(0编辑  收藏  举报

导航