Skip to content

Commit

Permalink
User logging instead of SYSOUT in lifecycle callback demos
Browse files Browse the repository at this point in the history
Issue: #1620
  • Loading branch information
sbrannen committed Feb 2, 2019
1 parent 591e5c0 commit 5fce6d0
Show file tree
Hide file tree
Showing 7 changed files with 79 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@

package example.callbacks;

import static example.callbacks.Logger.afterEachMethod;
import static example.callbacks.Logger.beforeEachMethod;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;

Expand All @@ -20,12 +23,12 @@ abstract class AbstractDatabaseTests {

@BeforeEach
void connectToDatabase() {
System.out.println(" @BeforeEach " + AbstractDatabaseTests.class.getSimpleName() + ".connectToDatabase()");
beforeEachMethod(AbstractDatabaseTests.class.getSimpleName() + ".connectToDatabase()");
}

@AfterEach
void disconnectFromDatabase() {
System.out.println(" @AfterEach " + AbstractDatabaseTests.class.getSimpleName() + ".disconnectFromDatabase()");
afterEachMethod(AbstractDatabaseTests.class.getSimpleName() + ".disconnectFromDatabase()");
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@

package example.callbacks;

import static example.callbacks.Logger.afterEachMethod;
import static example.callbacks.Logger.beforeEachMethod;
import static example.callbacks.Logger.testMethod;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand All @@ -27,27 +31,27 @@ class BrokenLifecycleMethodConfigDemo {

@BeforeEach
void connectToDatabase() {
System.out.println(" @BeforeEach " + getClass().getSimpleName() + ".connectToDatabase()");
beforeEachMethod(getClass().getSimpleName() + ".connectToDatabase()");
}

@BeforeEach
void insertTestDataIntoDatabase() {
System.out.println(" @BeforeEach " + getClass().getSimpleName() + ".insertTestDataIntoDatabase()");
beforeEachMethod(getClass().getSimpleName() + ".insertTestDataIntoDatabase()");
}

@Test
void testDatabaseFunctionality() {
System.out.println(" @Test " + getClass().getSimpleName() + ".testDatabaseFunctionality()");
testMethod(getClass().getSimpleName() + ".testDatabaseFunctionality()");
}

@AfterEach
void deleteTestDataInDatabase() {
System.out.println(" @AfterEach " + getClass().getSimpleName() + ".deleteTestDataInDatabase()");
afterEachMethod(getClass().getSimpleName() + ".deleteTestDataInDatabase()");
}

@AfterEach
void disconnectFromDatabase() {
System.out.println(" @AfterEach " + getClass().getSimpleName() + ".disconnectFromDatabase()");
afterEachMethod(getClass().getSimpleName() + ".disconnectFromDatabase()");
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@

package example.callbacks;

import static example.callbacks.Logger.afterEachMethod;
import static example.callbacks.Logger.beforeEachMethod;
import static example.callbacks.Logger.testMethod;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand All @@ -25,17 +29,17 @@ class DatabaseTestsDemo extends AbstractDatabaseTests {

@BeforeEach
void insertTestDataIntoDatabase() {
System.out.println(" @BeforeEach " + getClass().getSimpleName() + ".insertTestDataIntoDatabase()");
beforeEachMethod(getClass().getSimpleName() + ".insertTestDataIntoDatabase()");
}

@Test
void testDatabaseFunctionality() {
System.out.println(" @Test " + getClass().getSimpleName() + ".testDatabaseFunctionality()");
testMethod(getClass().getSimpleName() + ".testDatabaseFunctionality()");
}

@AfterEach
void deleteTestDataInDatabase() {
System.out.println(" @AfterEach " + getClass().getSimpleName() + ".deleteTestDataInDatabase()");
afterEachMethod(getClass().getSimpleName() + ".deleteTestDataInDatabase()");
}

}
7 changes: 5 additions & 2 deletions documentation/src/test/java/example/callbacks/Extension1.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@

package example.callbacks;

import static example.callbacks.Logger.afterEachCallback;
import static example.callbacks.Logger.beforeEachCallback;

import org.junit.jupiter.api.extension.AfterEachCallback;
import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
Expand All @@ -18,12 +21,12 @@ public class Extension1 implements BeforeEachCallback, AfterEachCallback {

@Override
public void beforeEach(ExtensionContext context) {
System.out.println(getClass().getSimpleName() + ".beforeEach()");
beforeEachCallback(this);
}

@Override
public void afterEach(ExtensionContext context) {
System.out.println(getClass().getSimpleName() + ".afterEach()");
afterEachCallback(this);
}

}
7 changes: 5 additions & 2 deletions documentation/src/test/java/example/callbacks/Extension2.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@

package example.callbacks;

import static example.callbacks.Logger.afterEachCallback;
import static example.callbacks.Logger.beforeEachCallback;

import org.junit.jupiter.api.extension.AfterEachCallback;
import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
Expand All @@ -18,12 +21,12 @@ public class Extension2 implements BeforeEachCallback, AfterEachCallback {

@Override
public void beforeEach(ExtensionContext context) {
System.out.println(getClass().getSimpleName() + ".beforeEach()");
beforeEachCallback(this);
}

@Override
public void afterEach(ExtensionContext context) {
System.out.println(getClass().getSimpleName() + ".afterEach()");
afterEachCallback(this);
}

}
45 changes: 45 additions & 0 deletions documentation/src/test/java/example/callbacks/Logger.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
* Copyright 2015-2019 the original author or authors.
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v2.0 which
* accompanies this distribution and is available at
*
* http://www.eclipse.org/legal/epl-v20.html
*/

package example.callbacks;

import java.util.function.Supplier;

import org.junit.jupiter.api.extension.Extension;

class Logger {

static final java.util.logging.Logger logger = java.util.logging.Logger.getLogger(Logger.class.getName());

static void beforeEachCallback(Extension extension) {
log(() -> extension.getClass().getSimpleName() + ".beforeEach()");
}

static void beforeEachMethod(String text) {
log(() -> " @BeforeEach " + text);
}

static void testMethod(String text) {
log(() -> " @Test " + text);
}

static void afterEachMethod(String text) {
log(() -> " @AfterEach " + text);
}

static void afterEachCallback(Extension extension) {
log(() -> extension.getClass().getSimpleName() + ".afterEach()");
}

private static void log(Supplier<String> supplier) {
logger.info(supplier);
}

}
3 changes: 3 additions & 0 deletions documentation/src/test/resources/log4j2-test.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
<Loggers>
<Logger name="org.junit" level="warn" />
<Logger name="example" level="warn" />
<!--
<Logger name="example.callbacks" level="info" />
-->
<Logger name="org.junit.vintage.engine.discovery" level="error" />
<Root level="error">
<AppenderRef ref="Console" />
Expand Down

0 comments on commit 5fce6d0

Please sign in to comment.