loggher.warn ()
etc.) dans le test JUNIT.import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
class Sample {
private Logger logger = LoggerFactory.getLogger(Sample.class);
public void run() {
logger.info("Exemple de message");
}
}
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.junit.jupiter.api.Test;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
class SampleTest {
private Sample sample = new Sample();
//Pour la confirmation de l'enregistreur Capturez les arguments passés
@Captor
ArgumentCaptor<String> logMessageCaptor;
@Mock
private Logger mockLogger;
@BeforeEach
public void setUp(){
MockitoAnnotations.initMocks(this); //En faisant cela, vous pouvez remplacer les variables de champ de la classe testée par mock.
}
@Test
void testRun() {
sample.run();
verify(mockLogger, times(1)).info(logMessageCaptor.capture()); //Ici, tout en vérifiant le nombre d'exécutions d'informations de l'enregistreur, l'argument est capturé
assertEquals("Exemple de message", logMessageCaptor.getValue());
}
}
fois (n)
Recommended Posts