-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
9강 mockito에서 verify() 함수 에러
21.12.23 11:09 작성 조회수 210
0
9강 mockito를 활용한 테스트 강의 맨 마지막 부분에 실제 동작했는지를 확인하는 verify() 함수를 동작시키는데 에러가 발생해서 질문 남겨드립니다.
expect()함수까지는 잘 작동을 했는데요, verify()에서
이렇게 똑같이 동작 시켰는데 에러가 발생하고 있습니다.
verify(client.get(Uri.parse('${PixabayApi.baseUrl}?key=${PixabayApi.key}&q=iphone&image_type=photo')));
에러는 No matching calls(actually, no calls at all.)이라고 나옵니다.
test('Pixabay 데이터를 잘 가져와야 한다', () async {
final api = PixabayApi();
final client = MockClient();
// mockito에서 제공하는 when()함수
when(client.get(Uri.parse('${PixabayApi.baseUrl}?key=${PixabayApi.key}&q=iphone&image_type=photo')))
.thenAnswer((_) async => http.Response(fakeJsonBody, 200));
final result = await api.fetch('iphone', client: client);
/// 실제 기대값
expect(result.first.id, 620817);
// 실제 동작했는지 검증하는 코드
verify(client.get(Uri.parse('${PixabayApi.baseUrl}?key=${PixabayApi.key}&q=iphone&image_type=photo')));
});
답변을 작성해보세요.
1
오준석
지식공유자2021.12.23
혹시 PixabayApi 클래스의 fetch() 메서드 내용 확인 부탁드릴게요.
실제로 clinet.get( ) 부분이 동일해야 매칭이 되기 때문에 동일한 코드가 수행되는지 확인하시면 됩니다.
요청 URL이 완전히 동일해야 합니다.
test할때 URL과 fetch() 메서드 내의 URL 부분을 print 하여 비교해 보셔도 좋을 것 같습니다
답변 1