0
我有一个方法,用来通过弹簧安全限制访问。以下是方法:反思testNG
@PreAuthorize("isAuthenticated() and hasPermission(#request, 'CREATE_REQUISITION')")
@RequestMapping(method = RequestMethod.POST, value = "/trade/createrequisition")
public @ResponseBody
void createRequisition(@RequestBody CreateRequisitionRO[] request,
@RequestHeader("validateOnly") boolean validateOnly) {
logger.debug("Starting createRequisition()...");
for (int i = 0; i < request.length; i++) {
CreateRequisitionRO requisitionRequest = request[i];
// FIXME this has to be removed/moved
requisitionRequest.setFundManager(requisitionRequest.getUserId());
// FIXME might have to search using param level as well
SystemDefault sysDefault = dbFuncs.references.systemDefault
.findByCompanyAndDivisionAndPortfolio(
userContext.getCompany(),
userContext.getDivision(),
requisitionRequest.getPortfolio());
requisitionRequest.setCustodianN(sysDefault.getCustodianN());
gateKeeper.route(requisitionRequest);
}
}
现在我想使用Java反射在运行时间测试方法是否工作正常,像单元测试。
我试着写上面的TestNG,由于我们有项目体系结构,因此我决定使用反射来测试[though which is not a good way of doing this and later we will find the solution for this]
。
我的问题是如何为该方法创建一个java反射类,并调用上述方法并将URL /trade/createrequisition
发送到服务器,无论它是否可供登录用户访问。
如何做到这一点。