psr logger codeception module
v2.1.0
โมดูล CodecePtion สำหรับการตรวจสอบความถูกต้องของข้อความที่บันทึกโดยตัวบันทึก PSR3
พัฒนาโดยซอฟต์แวร์ byteout
| PHP | การถ่ายโอน | psr/log | รุ่นโมดูล |
|---|---|---|---|
=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 |
ติดตั้งและกำหนดค่า codeception
ติดตั้งโมดูลโดยใช้นักแต่งเพลง
composer require " byteout/psr-logger-codeception-module " --dev เปิดใช้งานโมดูลในห้องสวีทของคุณ {NAME}.suite.yml :
modules :
enabled :
- ByteoutCodeceptionModulePsrLogger การใช้งานง่ายๆ
<?php
$ logger = $ I -> grabLogger ();
$ logger -> notice ( ' This is logger example. ' );
$ I -> seeLoggerHasNotice ( ' This is logger example. ' );ติดตามบันทึกจากบริการอื่น ๆ
<?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 ' );จำลองบันทึก
<?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 = []);ตัวอย่าง:
$ I -> haveEmergency ( ' This is emergency ' );
$ I -> haveEmergency ( ' This is emergency with context ' , [ ' error ' => ' This is context array ' ]); เมื่อ context เป็นโมฆะเท่านั้นข้อความจะถูกจับคู่และบริบทจะถูกละเว้น เมื่อ context เป็นอาร์เรย์มันจะถูกจับคู่อย่างสมบูรณ์พร้อมกับข้อความ
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 );ตัวอย่าง
// 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 ' ]); เมื่อ context เป็นโมฆะเท่านั้นข้อความจะถูกจับคู่และบริบทจะถูกละเว้น เมื่อ context เป็นอาร์เรย์มันจะถูกจับคู่อย่างสมบูรณ์พร้อมกับข้อความ
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 );ตัวอย่าง
// 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 );ตัวอย่าง:
// 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 );ตัวอย่าง:
// 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 );ตัวอย่าง:
// 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 );ตัวอย่าง:
// 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 );ตัวอย่าง:
$ 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 );ตัวอย่าง:
$ I -> dontSeeLoggerHasEmergencyThatPasses ( function ( $ record ) {
return $ record [ ' message ' ] === ' Test message ' && $ record [ ' context ' ][ ' error ' ] = ' Test error ' ;
});