Skip to content

s4u/slf4j-mock

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 

SLF4J mock

Build Maven Central Quality Gate Status Lines of Code

Yet another way to testing logging in application which use SLF4J.

Features

  • this binding support for easy create Mockito mock for Logger
  • call to Logger can be delegated to instance of SimpleLogger, so we can create standard simplelogger.properties
  • support for testing and mocking MDC
  • light transitive dependencies - only slf4j-api and mockito-core
  • support testing in parallel in multi thread
  • all the Magic are done by Mockito plugins, so you don't need to directly use class from this library
  • ease use

Example of usage

Add dependency to your project:

<dependencies>
    <dependency>
        <groupId>org.simplify4u</groupId>
        <artifactId>slf4j-mock</artifactId>
        <version><!-- check relases page --></version>  
        <scope>test</scope>        
    </dependency>
<dependencies>

Please remember, that you can only have one SLF4J binding on classpath, in the most case you must replace org.slf4j:slf4j-simple by org.simplify4u:slf4j-mock.

Write test:

class MyTest {

    @Mock
    Logger logger;

    @InjectMocks
    Example sut;

    @Test
    public void logInfoShouldBeLogged() {

        // when
        sut.methodWithLogInfo(INFO_TEST_MESSAGE);

        // then
        verify(logger).info(INFO_TEST_MESSAGE);
        verifyNoMoreInteractions(logger);
    }
}

Project homepage

More information and examples you can find on site:

https://www.simplify4u.org/slf4j-mock/