【发布时间】:2019-02-08 09:30:13
【问题描述】:
早安各位! 我正在我的 Spring Boot 应用程序中进行单元测试,但它会启动下一个异常: java.lang.IllegalArgumentException:未指定数据源;
这是我的方法:
@RestController
public class controlador {
@Autowired(required = true)
JdbcTemplate conn;
@CrossOrigin
@RequestMapping(value = "/getlistadopantallatab", method = RequestMethod.POST, consumes="application/json",produces = "application/json")
@ResponseBody
public Map<String, Object> getListadoPantallaTab(@RequestBody Map<String,Object> dto) {
Map<String, Object> simpleJdbcCallResult = null;
try {
SimpleJdbcCall simpleJdbcCall = new SimpleJdbcCall(conn)
.withCatalogName("CCR_PACKAGE")
.withProcedureName("getListadoPorPantallaTab");
SqlParameterSource in = new MapSqlParameterSource(dto);
simpleJdbcCallResult = simpleJdbcCall.execute(in);
} catch (Exception e) {
System.out.println("Se ha lanzado la siguiente excepcion: " + e);
}
return simpleJdbcCallResult;
}
这是我的测试:
public class controladorTest {
static controlador mockInstanced;
@BeforeClass
public static void setup() throws Exception {
mockInstanced= new controlador();
mockInstanced.conn = mock(JdbcTemplate.class);
}
/**
* Test of getListadoPantallaTab method, of class controlador.
*/
@Test
public void testGetListadoPantallaTab() {
System.out.println("Test unitario getListadoPantallaTab: ");
@SuppressWarnings("serial")
Map<String, Object> dto = new HashMap<String, Object>() {{
put("Inicio", 1);
put("fin", 15);
}};
mockInstanced.getListadoPantallaTab(dto);
}
有人知道我做错了什么吗?
PD:对不起我的英语,我是西班牙人!
【问题讨论】:
标签: java spring testing junit mocking