Task #56792

Enhance assertion of error log entries

Added by Oliver Hader over 1 year ago. Updated 6 months ago.

Status:New Start date:2014-03-11
Priority:Should have Due date:
Assigned To:- % Done:

0%

Category:Unit/Functional Tests Spent time: -
Target version:7.5
TYPO3 Version:6.2 Complexity:
PHP Version:5.3 Sprint Focus:On Location Sprint

Description

During the action tests it might happen, that errors occur. To assert expected or unexpected error log entries in the sys_log table, this functionality shall be added to the functional testing framework.
The current implementation just checks the amount of entries, which should be "0" in most cases - which is a bit weak to be considered as complete assertion.

Peter Niederlag shared some ideas during the review process which shall be part of a separate follow-up change.

// set by freezeErrorId() and used by assertErrorLogCreated()
protected $frozenErrorId = NULL;

// freeze ErrorLog
protected freezeErrorLog() { if $this->latestErrorId !== NULL { raise Exception('errorLog already frozen, use assertErrorLogCreated() before freezing again') }
$this->latestErrorId = sqlfetchIdofLatestErrorbyTimestamp();
}

assertErrorLogsCreated($expectedCount = 1, $detailPatterns = array() ) {
// check/warning on frozenErrorId (should be called prior to this assertion)
// check if there are $expectedCount new errorLogs (id > this->frozenErrorId)
// optionally check with regex
// finally reset frozenErrorId
$this->frozenErrorId = NULL;
}

(find discussion here https://review.typo3.org/#/c/27886/2/typo3/sysext/core/Tests/Functional/DataHandling/AbstractDataHandlerActionTestCase.php,unified)


Related issues

related to Core - Task #56369: Add possibility to assert error log entries Resolved 2014-02-27

History

#1 Updated by Mathias Schreiber 6 months ago

  • Target version set to 7.5

#2 Updated by Anja Leichsenring 6 months ago

  • Sprint Focus set to On Location Sprint

Also available in: Atom PDF