Codecception -Modul zur Validierung von Nachrichten, die von PSR3 -Logger angemeldet sind.
Entwickelt von Byteout -Software.
| Php | Codekzeption | psr/log | Modulversion |
|---|---|---|---|
=5.6.0 <9.0 | ^2.2|^3.0|^4.0 | ^1.0 | byteout/psr-logger-codeception-module:^1.0 |
^8.0 | ^4.1.9|^5.0 | ^2.0|^3.0 | byteout/psr-logger-codeception-module:^2.0 |
Installieren und Konfigurieren Sie die Codecception
Installieren Sie das Modul mit Composer
composer require " byteout/psr-logger-codeception-module " --dev Aktivieren Sie das Modul in Ihrer Suite {NAME}.suite.yml :
modules :
enabled :
- ByteoutCodeceptionModulePsrLogger Einfache Verwendung
<?php
$ logger = $ I -> grabLogger ();
$ logger -> notice ( ' This is logger example. ' );
$ I -> seeLoggerHasNotice ( ' This is logger example. ' );Verfolgen Sie Protokolle aus anderen Diensten
<?php
use Psr Log LoggerInterface ;
class HelloWorld
{
private $ logger ;
public function __construct ( LoggerInterface $ logger )
{
$ this -> logger = $ logger ;
}
public function sayHello ( $ name )
{
$ this -> logger -> info ( " Hello $ name " );
}
}
$ logger = $ I -> grabLogger ();
$ service = new HelloWorld ( $ logger );
$ service -> sayHello ( ' John ' );
$ I -> seeLoggerHasInfo ( ' Hello John ' );Simulation von Protokollen
<?php
$ I -> haveWarning ( ' Something bad happened ' , [ ' problem ' => ' This is more info. ' ]);
$ I -> dontSeeLoggerHasAnyError ();
$ I -> seeLoggerHasAnyWarning ();
$ I -> seeLoggerHasWarningThatContains ( ' bad ' ); public function grabLogger(): Psr Log LoggerInterface ; public function haveEmergency( string $ message , array $ context = []);
public function haveAlert( string $ message , array $ context = []);
public function haveCritical( string $ message , array $ context = []);
public function haveError( string $ message , array $ context = []);
public function haveWarning( string $ message , array $ context = []);
public function haveNotice( string $ message , array $ context = []);
public function haveInfo( string $ message , array $ context = []);
public function haveDebug( string $ message , array $ context = []);Beispiel:
$ I -> haveEmergency ( ' This is emergency ' );
$ I -> haveEmergency ( ' This is emergency with context ' , [ ' error ' => ' This is context array ' ]); Wenn context nur null ist, wird die einzige Nachricht übereinstimmt und der Kontext ignoriert. Wenn context Array ist, wird er zusammen mit der Nachricht vollständig übereinstimmen.
public function seeLoggerHasEmergency( string $ message , array $ context = null );
public function seeLoggerHasAlert( string $ message , array $ context = null );
public function seeLoggerHasCritical( string $ message , array $ context = null );
public function seeLoggerHasError( string $ message , array $ context = null );
public function seeLoggerHasWarning( string $ message , array $ context = null );
public function seeLoggerHasNotice( string $ message , array $ context = null );
public function seeLoggerHasInfo( string $ message , array $ context = null );
public function seeLoggerHasDebug( string $ message , array $ context = null );Beispiel
// matches all 'This is emergency' emergency messages, despite the context
$ I -> seeLoggerHasEmergency ( ' This is emergency ' );
// matches only message with the given context
$ I -> seeLoggerHasEmergency ( ' This is emergency with context ' , [ ' error ' => ' This is context array ' ]); Wenn context nur null ist, wird die einzige Nachricht übereinstimmt und der Kontext ignoriert. Wenn context Array ist, wird er zusammen mit der Nachricht vollständig übereinstimmen.
public function dontSeeLoggerHasEmergency( string $ message , array $ context = null );
public function dontSeeLoggerHasAlert( string $ message , array $ context = null );
public function dontSeeLoggerHasCritical( string $ message , array $ context = null );
public function dontSeeLoggerHasError( string $ message , array $ context = null );
public function dontSeeLoggerHasWarning( string $ message , array $ context = null );
public function dontSeeLoggerHasNotice( string $ message , array $ context = null );
public function dontSeeLoggerHasInfo( string $ message , array $ context = null );
public function dontSeeLoggerHasDebug( string $ message , array $ context = null );Beispiel
// fails if any 'This is emergency' emergency message was logged, despite the context
$ I -> dontSeeLoggerHasEmergency ( ' This is emergency ' );
// fails only when a message with the given content and context was logged
$ I -> dontSeeLoggerHasEmergency ( ' This is emergency with context ' , [ ' error ' => ' This is context array ' ]); public function seeLoggerHasAnyEmergency ();
public function seeLoggerHasAnyAlert ();
public function seeLoggerHasAnyCritical ();
public function seeLoggerHasAnyError ();
public function seeLoggerHasAnyWarning ();
public function seeLoggerHasAnyNotice ();
public function seeLoggerHasAnyInfo ();
public function seeLoggerHasAnyDebug (); public function dontSeeLoggerHasAnyEmergency ();
public function dontSeeLoggerHasAnyAlert ();
public function dontSeeLoggerHasAnyCritical ();
public function dontSeeLoggerHasAnyError ();
public function dontSeeLoggerHasAnyWarning ();
public function dontSeeLoggerHasAnyNotice ();
public function dontSeeLoggerHasAnyInfo ();
public function dontSeeLoggerHasAnyDebug (); public function seeLoggerHasEmergencyThatContains( string $ message );
public function seeLoggerHasAlertThatContains( string $ message );
public function seeLoggerHasCriticalThatContains( string $ message );
public function seeLoggerHasErrorThatContains( string $ message );
public function seeLoggerHasWarningThatContains( string $ message );
public function seeLoggerHasNoticeThatContains( string $ message );
public function seeLoggerHasInfoThatContains( string $ message );
public function seeLoggerHasDebugThatContains( string $ message );Beispiel:
// matches all emergency messages containing 'emergency' substring
$ I -> seeLoggerHasEmergencyThatContains ( ' emergency ' ); public function dontSeeLoggerHasEmergencyThatContains( string $ message );
public function dontSeeLoggerHasAlertThatContains( string $ message );
public function dontSeeLoggerHasCriticalThatContains( string $ message );
public function dontSeeLoggerHasErrorThatContains( string $ message );
public function dontSeeLoggerHasWarningThatContains( string $ message );
public function dontSeeLoggerHasNoticeThatContains( string $ message );
public function dontSeeLoggerHasInfoThatContains( string $ message );
public function dontSeeLoggerHasDebugThatContains( string $ message );Beispiel:
// fails is any emergency message containing 'emergency' substring was logged
$ I -> dontSeeLoggerHasEmergencyThatContains ( ' emergency ' ); public function seeLoggerHasEmergencyThatMatchesRegex( string $ regex );
public function seeLoggerHasAlertThatMatchesRegex( string $ regex );
public function seeLoggerHasCriticalThatMatchesRegex( string $ regex );
public function seeLoggerHasErrorThatMatchesRegex( string $ regex );
public function seeLoggerHasWarningThatMatchesRegex( string $ regex );
public function seeLoggerHasNoticeThatMatchesRegex( string $ regex );
public function seeLoggerHasInfoThatMatchesRegex( string $ regex );
public function seeLoggerHasDebugThatMatchesRegex( string $ regex );Beispiel:
// matches all emergency messages passing regex '/emergency/i'
$ I -> seeLoggerHasEmergencyThatMatchesRegex ( ' /emergency/i ' ); public function dontSeeLoggerHasEmergencyThatMatchesRegex( string $ regex );
public function dontSeeLoggerHasAlertThatMatchesRegex( string $ regex );
public function dontSeeLoggerHasCriticalThatMatchesRegex( string $ regex );
public function dontSeeLoggerHasErrorThatMatchesRegex( string $ regex );
public function dontSeeLoggerHasWarningThatMatchesRegex( string $ regex );
public function dontSeeLoggerHasNoticeThatMatchesRegex( string $ regex );
public function dontSeeLoggerHasInfoThatMatchesRegex( string $ regex );
public function dontSeeLoggerHasDebugThatMatchesRegex( string $ regex );Beispiel:
// fails is any emergency message passing regex '/emergency/i was logged
$ I -> dontSeeLoggerHasEmergencyThatMatchesRegex ( ' emergency ' ); public function seeLoggerHasEmergencyThatPasses( callable $ matcher );
public function seeLoggerHasAlertThatPasses( callable $ matcher );
public function seeLoggerHasCriticalThatPasses( callable $ matcher );
public function seeLoggerHasErrorThatPasses( callable $ matcher );
public function seeLoggerHasWarningThatPasses( callable $ matcher );
public function seeLoggerHasNoticeThatPasses( callable $ matcher );
public function seeLoggerHasInfoThatPasses( callable $ matcher );
public function seeLoggerHasDebugThatPasses( callable $ matcher );Beispiel:
$ I -> seeLoggerHasEmergencyThatPasses ( function ( $ record ) {
return $ record [ ' message ' ] === ' Test message ' && $ record [ ' context ' ][ ' error ' ] = ' Test error ' ;
}); public function dontSeeLoggerHasEmergencyThatPasses( callable $ matcher );
public function dontSeeLoggerHasAlertThatPasses( callable $ matcher );
public function dontSeeLoggerHasCriticalThatPasses( callable $ matcher );
public function dontSeeLoggerHasErrorThatPasses( callable $ matcher );
public function dontSeeLoggerHasWarningThatPasses( callable $ matcher );
public function dontSeeLoggerHasNoticeThatPasses( callable $ matcher );
public function dontSeeLoggerHasInfoThatPasses( callable $ matcher );
public function dontSeeLoggerHasDebugThatPasses( callable $ matcher );Beispiel:
$ I -> dontSeeLoggerHasEmergencyThatPasses ( function ( $ record ) {
return $ record [ ' message ' ] === ' Test message ' && $ record [ ' context ' ][ ' error ' ] = ' Test error ' ;
});