wir entwickeln eine anwendung mit feder mvc framework. Ich habe alle unten aufgeführten Klassen gegeben, bitte schlagen Sie vor, wie Sie einen Junit-Testfall für das folgende Szenario schreiben.junit testfall für frühling MVC
Ich möchte einen Junit-Testfall für die validateAccountInformation (requestDTO) -Methode schreiben, die in der validateAccount (..) -Methode der LPAValidator.java-Klasse aufgerufen wird. Unten ist mein Junit-Test gefolgt von den Java-Klassen. Der tatsächliche Anruf wird vom LPAController.java wie im folgenden Code angezeigt.
LPAControllerTest.java
@Test(groups = "manual")
public void submitRequestForLPAAccountTest()
{
// businessCalendar.nextBusinessDay(
// LocalDateHelper.today(), LPAConstants.TWENTY_BUSSINESS_DAYS)
//i want to write the test case for the above commented logic,
//if business days is not equal to twenty days, test should fail.
}
LPAController.java
@RequestMapping(value = "/lpa/{accNumber}/spread, method = RequestMethod.GET)
public @ResponseBody LPAResponseDTO accountSearch(@RequestBody final LPARequestDTO clientrequestBody,
@PathVariable final String accNumber, final HttpServletResponse response)
{
//some logic goes here
final LPAAccountResponse domainResponse = service.submitRequestForLPAAccount(requestBody);
}
LPAServiceImpl.java
LPARepository.java
@PermitAll
@NonTransactional
public LPAResponse submitRequestForLPAAccount(final LPARequest requestDTO)
{
//some logic
lpaValidator.validateAccount(requestDTO);
//some logic
}
LPAValidator.java - Java-Klasse für Validierungen
@component
class LPAValidator{
@Inject
private BusinessCalendar businessCalendar;
void validateAccount(final LPARequest requestDTO) throws Exception {
try {
validateAccountInformation(requestDTO);
} catch(Exception e){
}
}
private void validateAccountInformation(final LPARequest requestDTO) throws Exception{
final accDate lpaAccDate = requestDTO.getLPADate();
final LocalDate twentyBussinessDays = businessCalendar.nextBusinessDay(
LocalDateHelper.today(), LPAConstants.TWENTY_BUSSINESS_DAYS); //i want to write
//test case for this line of code, if business days given is more than twenty test should fail.
//some logic here
}
Bitte legen nahe, was in LPAControllerTest.java hinzugefügt werden muss die nextBusinessDay (..) zu testen, wie oben erörtert.
Obwohl Diskussionen gibt es, ich denke, es ist häufiger LPAController als LpaController zu schreiben, nur neue Wörter zu kapitalisieren, und nicht Abkürzungen (obwohl sie sind). Natürlich haben Sie HTTPServlet (oder HttpServlet), die es irgendwie bricht, aber ... –