由 codegen 工具生成的 Swagger api 客户端仅创建返回类型为void的测试方法。如何测试我的休息 api?
这是我的服务代码规范:
@Api(value = "Authentication Recovery")
@Path("/authenticationRecovery")
public class AuthenticationRecoveryResource implements Authentication{
@ApiOperation(
value = "Recover access token"
, notes = "Recover access token assigned to the user (once it has been authenticated)"
, response = TokenJAXB.class
//, responseContainer = "List"
)
@ApiResponses(value = {
@ApiResponse(code = HttpURLConnection.HTTP_OK, message = "Authorized access") ,
@ApiResponse(code = HttpURLConnection.HTTP_UNAUTHORIZED, message = "Unauthorized access")
})
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response authenticate(
@ApiParam(value="Username", required=true) @FormParam("username") String username,
@ApiParam(value="Password", required=true) @FormParam("password") String password)
{..}
这是我生成的用于测试的招摇代码:
/**
* API tests for AuthenticationRecoveryApi
*/
@Ignore
public class AuthenticationRecoveryApiTest {
private final AuthenticationRecoveryApi api = new AuthenticationRecoveryApi();
/**
* Recover access token
*
* Recover access token assigned to the user (once it has been authenticated)
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void authenticateTest() throws ApiException {
String username = null;
String password = null;
api.authenticate(username, password);
// TODO: test validations
}}
我已经生成了一个招摇的客户端 api:
java -jar swagger-codegen-2.2.3/modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i http://localhost:8080/myproject/services/service0/swagger.json -l java -o client/myproject/java