Repackage output capture and always use extension declaratively

Closes gh-17029
This commit is contained in:
Andy Wilkinson
2019-05-31 10:03:02 +01:00
parent d11d5ceb29
commit 0644a79401
69 changed files with 584 additions and 657 deletions

View File

@@ -19,18 +19,16 @@ package sample.profile;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.extension.CapturedOutput;
import org.springframework.boot.test.extension.OutputExtension;
import org.springframework.boot.test.system.CapturedOutput;
import org.springframework.boot.test.system.OutputCaptureExtension;
import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(OutputCaptureExtension.class)
class SampleProfileApplicationTests {
@RegisterExtension
CapturedOutput output = OutputExtension.capture();
private String profiles;
@BeforeEach
@@ -49,20 +47,20 @@ class SampleProfileApplicationTests {
}
@Test
void testDefaultProfile() throws Exception {
void testDefaultProfile(CapturedOutput capturedOutput) {
SampleProfileApplication.main(new String[0]);
assertThat(this.output).contains("Hello Phil");
assertThat(capturedOutput).contains("Hello Phil");
}
@Test
void testGoodbyeProfile() throws Exception {
void testGoodbyeProfile(CapturedOutput capturedOutput) {
System.setProperty("spring.profiles.active", "goodbye");
SampleProfileApplication.main(new String[0]);
assertThat(this.output).contains("Goodbye Everyone");
assertThat(capturedOutput).contains("Goodbye Everyone");
}
@Test
void testGenericProfile() throws Exception {
void testGenericProfile(CapturedOutput capturedOutput) {
/*
* This is a profile that requires a new environment property, and one which is
* only overridden in the current working directory. That file also only contains
@@ -71,14 +69,14 @@ class SampleProfileApplicationTests {
*/
System.setProperty("spring.profiles.active", "generic");
SampleProfileApplication.main(new String[0]);
assertThat(this.output).contains("Bonjour Phil");
assertThat(capturedOutput).contains("Bonjour Phil");
}
@Test
void testGoodbyeProfileFromCommandline() throws Exception {
void testGoodbyeProfileFromCommandline(CapturedOutput capturedOutput) {
SampleProfileApplication
.main(new String[] { "--spring.profiles.active=goodbye" });
assertThat(this.output).contains("Goodbye Everyone");
assertThat(capturedOutput).contains("Goodbye Everyone");
}
}