2017-07-07 4 views
0

J'ai une tâche à effectuer: Ce contrôleur doit avoir son propre test unitaire pour vérifier que @RequestMapping est réglé sur .Cochez @RequestMapping - test unitaire

@RestController 
@RequestMapping("/api/report/article_pairs") 
public class ArticlePairsController extends ReportController<ArticlePairs>{ 

public ArticlePairsController(HttpReportExecutor<ArticlePairs> articlePairs) { 
    super(articlePairs); 
} 

@PostMapping() 
public HttpEntity<Void> proceed(@RequestBody ArticlePairs articlePairs) { 

    articlePairs.setDbconn(schemaName + "." + CENTRALA); 

    return executeReport(articlePairs, "report.articlePairs"); 
    } 
} 

Si quelqu'un dans l'avenir changerait cette valeur, un test unitaire doit montrer.

Les tests unitaires sont un nouveau problème pour moi, alors pourrais-je demander conseil? Merci d'avance.

Répondre

0

Vous ne l'avez pas dit quelle version de printemps que vous utilisez, mais si elle est supérieure à 3.2, vous pouvez mettre en place un simple test unitaire qui teste seulement un contrôleur donné et non l'ensemble du contexte comme suit:

@RunWith(SpringJUnit4ClassRunnerRunner.class) 
public class ArticlePairsController { 

private MockMvc mvc; 

@Before 
public void setup() { 
    mvc = MockMvcBuilders.standaloneSetup(ArticlePairsController.class).build(); 
} 

@Test 
public void testHappyPath() throws Exception { 

    mvc.perform(post("/api/report/article_pairs") 
      .content("{"yourjsoncontent}") 
      .contentType(MediaType.APPLICATION_JSON) 
      .accept(MediaType.APPLICATION_JSON)) 
      .andExpect(status().isOk()()); 
} 

}

+0

merci, mais pourriez-vous me dire ce qu'est 'myjsoncontent' et où puis-je le trouver? –

+0

C'est la représentation json de ArticlePairs –