2017-07-07 46 views
0

我有一個任務要做: 這個控制器應該有自己的單元測試來驗證,@RequestMapping設置爲/ api/report/article_pairsCheck @RequestMapping - 單元測試

@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"); 
    } 
} 

如果有人將來會改變這個值,單元測試應該顯示這個。

單元測試對我來說是一個新問題,所以我可以要求一些建議嗎?先謝謝你。

回答

0

您沒有說明您正在使用的春天的版本,但如果是比3.2更大,你可以建立一個簡單的單元測試,只有測試一個給定的控制器,而不是整個背景如下:

@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

謝謝你,但你能告訴我'myjsoncontent'是什麼,我在哪裏可以找到它? –

+0

這是ArticlePairs的json表示形式 –