@Override
	protected FailureAnalysis analyze(Throwable rootFailure, ConfigDataMissingEnvironmentPostProcessor.ImportException cause) {
		String description;
		if (cause.missingPrefix) {
			description = "The spring.config.import property is missing a " + PolarisConfigDataLocationResolver.PREFIX
					+ " entry";
		}
		else {
			description = "No spring.config.import property has been defined";
		}
		String action = "\t1. Add a spring.config.import=polaris property to your configuration.\n"
				+ "\t2. If configuration is not required add spring.config.import=optional:polaris instead.\n"
				+ "\t3. If you still want use bootstrap.yml, "
				+ "you can add <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> dependency for compatible upgrade.";
		return new FailureAnalysis(description, action, cause);
	}
@Test
	public void failureAnalyzerTest() {
		SpringApplication app = mock(SpringApplication.class);
		MockEnvironment environment = new MockEnvironment();
		PolarisConfigDataMissingEnvironmentPostProcessor processor = new PolarisConfigDataMissingEnvironmentPostProcessor();
		assertThatThrownBy(() -> processor.postProcessEnvironment(environment, app))
				.isInstanceOf(PolarisConfigDataMissingEnvironmentPostProcessor.ImportException.class);
		Throwable throwable = catchThrowable(() -> processor.postProcessEnvironment(environment, app));
		PolarisImportExceptionFailureAnalyzer failureAnalyzer = new PolarisImportExceptionFailureAnalyzer();
		FailureAnalysis analyze = failureAnalyzer.analyze(throwable);
		assertThat(StringUtils.isNotBlank(analyze.getAction())).isTrue();
	}