2013-09-18 2 views
1

Я использую PowerMocking для JUNIT и Iam для PowerMock.Издевательство над классом в PowerMock

Я хочу издеваться над одним классом, который не является статичным.

Сценарий класса выглядит следующим образом.

public class Export extends MyUtil implements ExportFormatting<DeptSummaryByDCDTO, LmReportsInputDTO>{ 

    public String createPDF(List<DeptSummaryByDCDTO> summaryDtoList, LmReportsInputDTO inputDto){ 

    } 

    public String createPDF(Map<String, DeptSummaryByDCDTO> paramMap, 
     LmReportsInputDTO paramK) { 


    } 

}

Вызывающий класс следующим образом.

public static Response getMultiplePackSku{ 
     filePath = new Export(inputDto).createPDF(resultList,null); 
} 

Вопрос в том,

Я пытаюсь проверить выше класс, используя powermock.

Может кто-нибудь сказать, как дразнят линия Filepath .....

+1

downvoter, в следующий раз просьба сообщить о том, почему –

ответ

1

Вот описание того, как издеваться конструктора вызов: MockConstructor

1

Вы должны сначала издеваются конструктор и возврат a Export макет. На возвращенный макет вам нужно записать звонок на createPDF. Трудная часть - это конструктор, издевательский. Я приведу вам пример, надеюсь, вы получите все это:

@RunWith(PowerMockRunner.class) // This annotation is for using PowerMock 
@PrepareForTest(Export.class) // This annotation is for mocking the Export constructor 
public class MyTests { 

    private mockExport; 

    @Before 
    public void setUp() { 
     // Create the mock 
     mockExport = PowerMock.createMock(Export.class) 
    } 

    @Test 
    public void testWithConstructor() { 
     SomeDtoClass inputDto = PowerMock.createMock(SomeDtoClass.class); 
     PowerMock.expectNew(Export.class, inputDto).andReturn(mockExport); 
     PowerMock.replay(mockExport, Export.class); 
     expect(mockExport.createPDF(resultList, null); 


     // Run the tested method. 
    } 

} 
Смежные вопросы