Os alunos que não estão claros sobre o OpenFeign podem se referir ao meu artigo: Springboot ~ OpenFeign diz adeus ao httpclient a partir de agora
Para o OpenFeign, isso nos ajuda a resolver o problema do servidor servidor. Você não precisa se preocupar com o URI do servidor, só precisa conhecer o nome de seu serviço em Eureka. Ao mesmo tempo, depois de determinar os parâmetros e o valor de retorno do método de serviço com o servidor, podemos zombar desses métodos do servidor durante o teste de unidade e obter realmente o teste de unidade sem interagir com os recursos externos.
Hoje, falaremos principalmente sobre o problema de ler os arquivos JSON no OpenFeign. Armazenamos os dados necessários para o teste no arquivo e o foco é relativamente simples ao modificá -los.
JSON Help Class usa principalmente objeto ObjectMapper
/*** Converta JSON em um objeto. * * @Param Path File Path */ public <T> t Fromjson (String Path, classe <T> cls) {try {return ObjectMapper.readValue (this.FromResource (Path, charsets.utf_8), CLS); } Catch (Exceção e) {lança nova ilegalStateException ("Leia JSON falhou:" + caminho, e); }} /*** Converta o JSON Array na lista de objetos. * * @Param Path File Path */ public <T> List <T> Listfromjson (String Path, TypeReference TypeReference) {try {return ObjectMapper.ReadValue (FromResource (Path, charsets.utf_8), TypeReference); } Catch (Exceção e) {lança nova ilegalStateException ("Leia JSON falhou:" + caminho, e); }}No tipo simulado, você pode usar este método para ler o conteúdo do arquivo json
@Configuration @perfil ("integtest") classe pública serviceClientMock {@Bean public ServiceClient RegisterServiceClient () {AccountClient client = zock (AccountClient.class); quando (client.del (anystring (), anystring (), anystring (), anymap ())). depois return (dejson ("order/orders.json", map.class)); }}O código acima simula principalmente o método del no objeto ServiceClient. Possui três parâmetros de entrada de caracteres e o valor de retorno é lido no arquivo JSON. No teste de unidade, o objeto ServiceClientMock é injetado diretamente.
Como você pode ver na anotação @profile, ele é executado no ambiente integtest e, no ambiente de produção, ele usará serviços reais.
Resumir
O exposto acima é que os dados de leitura do Springboot OpenFeign dos arquivos JSON introduzidos pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!