### Question:
WeixinCorpNotifier extends AbstractNotifier<WechatMessageTemplate> { @Nonnull @Override public Mono<Void> send(@Nonnull WechatMessageTemplate template, @Nonnull Values context) { return getToken() .flatMap(token -> client.post() .uri(UriComponentsBuilder.fromUriString(notify).queryParam("access_token",token).toUriString()) .contentType(MediaType.APPLICATION_JSON) .body(BodyInserters.fromValue(template.createJsonRequest(context))) .exchange() .flatMap(clientResponse -> clientResponse.bodyToMono(HashMap.class)) .as(this::checkResult)) .then(); } WeixinCorpNotifier(String id,WebClient client, WechatCorpProperties properties, TemplateManager templateManager); @Nonnull @Override NotifyType getType(); @Nonnull @Override Provider getProvider(); @Nonnull @Override Mono<Void> send(@Nonnull WechatMessageTemplate template, @Nonnull Values context); @Nonnull @Override Mono<Void> close();  }### Answer:
@Test @Disabled void test(){ WechatCorpProperties properties=new WechatCorpProperties(); properties.setCorpId("corpId"); properties.setCorpSecret("corpSecret"); WechatMessageTemplate messageTemplate=new WechatMessageTemplate(); messageTemplate.setAgentId("agentId"); messageTemplate.setMessage("test"+System.currentTimeMillis()); messageTemplate.setToUser("userId"); WeixinCorpNotifier notifier=new WeixinCorpNotifier("test", WebClient.builder().build(),properties,null ); notifier.send(messageTemplate, Values.of(new HashMap<>())) .as(StepVerifier::create) .expectComplete() .verify(); }