디버그에 객체를 저장하고 테스트에서 스터브로 사용하는 것보다
-
05-07-2019 - |
문제
내 응용 프로그램은 DB에 연결하고 여기에서 카테고리를 가져옵니다. 디버그 체제에서 나는이 큰 트리 객체를 볼 수 있으며 테스트 스터브에 사용하기 위해 디스크 어딘가에이 객체를 저장하는 능력을 생각했습니다. 이와 같이:
mockedDao = mock(MyDao.class);
when(mockedDao.getCategoryTree()).thenReturn(mySavedObject);
가정합니다 mySavedObject
- 충분히 거대하므로 수동으로 생성하거나 특수 생성 코드를 작성하고 싶지 않습니다. 디버그 세션 중에 직렬화하고 어딘가에 저장할 수 있기를 원합니다. thenReturn
테스트에서. 그렇게하는 표준 방법이 있습니까? 그렇지 않다면 그러한 접근 방식을 어떻게 구현하는 것이 더 낫습니까?
해결책
나 하다 당신의 아이디어를 사랑하십시오, 그것은 굉장합니다!
나는 그 기능을 상자 밖에서 제공 할 라이브러리를 모릅니다. 사용해 볼 수 있습니다 ObjectOutoutStream
그리고 ObjectInputStream
(즉, 표준 Java 직렬화) 객체가 모두 구현되는 경우 Seriablizable
. 일반적으로 그들은 그렇지 않습니다. 이 경우 더 많은 운이있을 수 있습니다. xstream 또는 친구 중 하나.
제휴하지 않습니다 StackOverflow