이 테스트를 수행하는 방법을 궁금합니다! 아래는 테스트 메소드입니다. correlationId와 docFamilyUUid가 UUID 클래스에 의해 무작위로 생성 된 것을 볼 수 있습니다. 기본적으로 getDocInfo는 mockDao에서 findAllByDocId를 먼저 호출하고 null을 반환하면 데이터베이스에 저장할 docInfo 객체를 만듭니다.임의 값으로 생성 된 일부 필드가있는 클래스를 조롱 했습니까?
void testGetDocInfo()
{
def String docId = 'I19292800fe1911e0a849005056932b99'
def List<DocInfo> expectedResult = [expectedDocInfo]
expect(mockDocInfoDao.findAllByDocId(docId)).andReturn(null)
mockDocInfoDao.save(new DocInfo())
replay(mockDocInfoDao)
docInfoServiceImpl.getDocInfo(docId)
verify(mockDocInfoDao)
}
///////// DocInfoServiceClass
public final DocInfo createDocInfo(final String docId)
{
final DocInfo docInfo = new DocInfo();
docInfo.setId(docId);
docInfo.setDocFamilyUuid(UUIDGenerator.getInstance().getUuidAsString());
docInfo.setCorrelationId(UUIDGenerator.getInstance().getUuidAsString());
return docInfo;
}
/**
* @param docId is the document Id
* @return the list of DocInfo objects for a particular docId
*/
public final List<DocInfo> findAllByDocId(final String docId)
{
return docInfoDao.findAllByDocId(docId);
}
/**
* @param docId is the document Id
* @return the list of DocInfo objects for a particular docId
*/
public final List<DocInfo> getDocInfo(final String docId)
{
List<DocInfo> docInfoList = null;
docInfoList = docInfoDao.findAllByDocId(docId);
if (docInfoList == null)
{
docInfoList = new ArrayList<DocInfo>();
DocInfo docInfo = createDocInfo(docId);
docInfoDao.save(docInfo);
docInfoList.add(docInfo);
}
return docInfoList;
}
예를 들려 줄 수 있습니까? – Phoenix
예, 여기를보세요 : http://fczaja.blogspot.co.il/2011/11/easymock-create-partial-mocks.html – Vitaliy
링크가 작동하지 않습니다. – Phoenix