Mockito???????????
???????????? ???????[ 2014/10/30 11:37:58 ] ??????????????? ???
?????????????ν?mock??????????????????????????setter????????????
???????
???????:?????service??????????????????????spring?????е??
???????????????????У???????????????@InjectMocks????????????????????? @Mock??
???????????MockitoAnnotations.initMocks(this);??仰????????????????????????????????spring??????????????name?????????????????ж??????дsetter??????
????????
????1????????
@Component("abcService")
public class AbcService {
@Resource(name="aaaDao")
private AaaDao aaaDao;
@Resource(name="bbbDao")
private BbbDao bbbDao;
......//??????????????в???????aaaDao??bbbDao??setter??????
}
????2????????
public class AbcServiceTest{
@InjectMocks
AbcService abcService;
@Mock
AaaDao aaaDao;
@Mock
BbbDao bbbDao;
@Before
public void setup(){
MockitoAnnotations.initMocks(this);//??仰??????aaaDao??bbbDao??????abcService?С?
//?????????????????????when().then()????и?????????á?
}
}
??????????????ζ?????????y??в???????
??????????????y??в??????? (iterator-style stubbing)
??????????????2???????????????????????????????stub??????????????μ???Ρ????????????????????????к??????????????mockito?????????????
when(mock.someMethod("some arg"))
.thenThrow(new RuntimeException())
.thenReturn("foo");
//First call: throws runtime exception:
mock.someMethod("some arg");
//Second call: prints "foo"
System.out.println(mock.someMethod("some arg"));
//Any consecutive call: prints "foo" as well (last stubbing wins).
System.out.println(mock.someMethod("some arg"));
??????????????????????д??????Щ??
????when(mock.someMethod("some arg"))
????.thenReturn("one"?? "two"?? "three");
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11