Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Code Coverage Laravel Package

phpunit/php-code-coverage

phpunit/php-code-coverage collects, processes, and renders PHP code coverage data. Integrate it in test runs to start/stop coverage collection, filter included files, and generate reports such as OpenClover, including from serialized coverage data.

View on GitHub
Deep Wiki
Context7
14.1.9

Fixed

  • #1160: Ternary inside array spread: else-arm's line is falsely reported as not covered
14.1.8

Fixed

  • #1159: Statements inside a closure passed as a call argument are incorrectly reported as not covered
  • case statements are treated as branch operators
14.1.7

Fixed

  • #1154: Opening and closing lines of match (true) expressions are reported as not executed
  • #1156: Scalar literals produce incorrect code coverage information
14.1.6

Fixed

  • #1077: UnintentionallyCoveredCodeException should report ClassName::methodName when methods are targeted
14.1.5

Changed

  • #941: Sort directories and files in strict alphabetical order
  • #1077: UnintentionallyCoveredCodeException should report ClassName::methodName when methods are targeted

Fixed

  • #491: Ensure strings are valid UTF-8 before passing them to XML APIs
  • #919: Not all lines of an interface are ignored
  • #1007: Incorrect branch/path coverage totals for uncovered files
  • #1029: Lines of multiline ternary expressions inside array literals are not shown in coverage reports
  • #1030: Start line of code unit includes attributes
14.1.4

Fixed

  • Added tokens for asymmetric visibility to the syntax highlighter used for the HTML report
  • Fixed whitespace issue in the HTML report for files with long lines
14.1.3

Fixed

  • #1151: Version check in Unserializer::unserialize() is too restrictive
14.1.2

Fixed

  • #1150: Abstract method declarations are incorrectly counted as executable lines
12.5.6

Fixed

  • #1150: Abstract method declarations are incorrectly counted as executable lines
14.1.1

Fixed

  • #1149: Lines spanned by attributes are treated as executable
12.5.5

Fixed

  • #1149: Lines spanned by attributes are treated as executable
14.1.0

Added

  • SebastianBergmann\CodeCoverage\Report\Facade::summary() method that returns a value object that provides the number of executable lines, the number of executed lines, and line coverage in percent (as well as the respective numbers for branches and paths when available)

Changed

  • The XML document of the code coverage report in Cobertura XML format no longer has the <!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd"> line at the beginning. No document exists at this URL any more, referencing remote DTD URLs is problematic, and no common consumer of Cobertura XML relies on this line.

Fixed

  • #1147: CoversClass does not transitively target traits used by enumerations
12.5.4

Fixed

  • #1147: CoversClass does not transitively target traits used by enumerations
14.0.0

Added

  • SebastianBergmann\CodeCoverage\Serialization\Serializer class for serializing SebastianBergmann\CodeCoverage\CodeCoverage objects in a versioned format to a file
  • SebastianBergmann\CodeCoverage\Serialization\Unserializer class for unserializing SebastianBergmann\CodeCoverage\CodeCoverage objects from a file creating using SebastianBergmann\CodeCoverage\Serialization\Serializer
  • SebastianBergmann\CodeCoverage\Report\Facade class for generating reports from both SebastianBergmann\CodeCoverage\CodeCoverage objects (using Facade::fromObject()) as well as from data unserialized with SebastianBergmann\CodeCoverage\Serialization\Unserializer::unserialize() (using Facade::fromSerializedData())
  • #925: Serialized code coverage data (generated using PHPUnit's --coverage-php, for example) should use relative paths

Changed

  • #1142: The HTML report now uses a more colorblind-friendly blue/amber/orange palette
  • The HTML report's dashboard now uses PHP-rendered SVG bubble charts (coverage vs. complexity vs. executable lines) and CRAP index tables instead of client-side Billboard.js charts
  • The report generation classes are now internal; the new SebastianBergmann\CodeCoverage\Report\Facade class must be used for report generation
  • The format of the file written by SebastianBergmann\CodeCoverage\Serialization\Serializer is incompatible with the format of the file that was written by SebastianBergmann\CodeCoverage\Report\PHP in the past
  • The <build> element and its children of the XML report generated by SebastianBergmann\CodeCoverage\Report\Xml\Facade require the optional arguments to be passed to the process() method
  • The TestSize and TestStatus value objects are now enumerations

Fixed

  • Configuring colors for the HTML report no longer worked after support for dark mode was added

Removed

  • The SebastianBergmann\CodeCoverage\Report\PHP class was removed, use the new SebastianBergmann\CodeCoverage\Serializer class instead
13.0.2

Fixed

  • #1143: Race condition in CachingSourceAnalyser::read() with parallel test runners
13.0.1

Fixed

  • #1135: Internal methods driverIs*() must not assume that CodeCoverage::$driver is set
12.5.3

Fixed

  • #1135: Internal methods driverIs*() must not assume that CodeCoverage::$driver is set
13.0.0

Removed

  • This component is no longer supported on PHP 8.3
12.5.2

Fixed

  • #1131: Invalid XML generated when both PCOV and Xdebug are loaded
11.0.12

Fixed

  • #1092: Error in DOMDocument::saveXML() is not handled
  • #1131: Invalid XML generated when both PCOV and Xdebug are loaded
12.5.1

Changed

  • #1125: Improve performance of XML report by using XMLWriter instead of DOM
12.5.0

Added

  • Option to not generate the <source> element for the XML report

Changed

12.4.0

Added

  • #1095: Support for light/dark mode in HTML report
12.3.8

Fixed

  • #1092: Error in DOMDocument::saveXML() is not handled
  • #1094: No branch and path coverage in HTML report
12.3.7

Changed

  • Do not use __sleep() method (which will be deprecated in PHP 8.5)
12.3.6

Fixed

  • #1091: HTML report renderer uses code coverage driver
12.3.5

Changed

  • #1090: Only export properties for configuration, code coverage data, and test results when serializing CodeCoverage
12.3.4

Changed

  • Improved performance of MapBuilder::build()
12.3.3

Changed

  • #1085: Improve performance by skipping empty lines after filter has been applied
11.0.11

Changed

  • #1085: Improve performance by skipping empty lines after filter has been applied
12.3.2

Changed

  • Add coverage and complexity columns to class and method complexity tables
  • Add CRAP to graph tooltip

Fixed

  • #1081: Class complexity scatter chart tooltips show incorrect class
11.0.10

Changed

  • Changed CSS for HTML report to not use common ligatures as this sometimes lead to hard-to-read code
  • Updated Bootstrap to version 5.3.6 for HTML report
12.3.1

Changed

  • Changed CSS for HTML report to not use common ligatures as this sometimes lead to hard-to-read code
  • Updated Bootstrap to version 5.3.6 for HTML report
12.3.0

Changed

  • #1080: Support for reporting code coverage information in OpenClover XML reporter; unlike the existing Clover XML reporter, which remains unchanged, this new reporter validates against the OpenClover project's XML schema definition, with one exception: we do not generate <testproject> element. This feature is experimental and the generated XML might change in order to improve compliance with the OpenClover project's XML schema definition further. Such changes will be made in bugfix and/or minor releases even if they break backward compatibility.
12.2.1

Changed

  • Safeguard file_get_contents() call with is_file() call to avoid problems with error handlers that act on suppressed warnings
12.2.0

Changed

  • #1074: Use more efficient AttributeParentConnectingVisitor
  • #1076: Replace unmaintained JavaScript library for charts with billboard.js
  • Reduced number of I/O and hashing operations when using the static analysis cache
  • Use SHA-256 instead of MD5 to generate cache keys for static analysis cache (as SHA-256 is significantly faster than MD5 with PHP >= 8.4 on modern CPUs)
12.1.2

Fixed

  • #1069: Check for unintentionally covered code is wrong
12.1.1

Fixed

  • Child classes of child classes are not considered for ClassesThatExtendClass target
12.1.0

Changed

  • CacheWarmer::warmCache() now returns the number of cache hits and cache misses
12.0.5

Fixed

  • #1064: Code Coverage targets are handled in case-sensitive manner
12.0.4

Fixed

  • #1063: HTML report highlights argument named fn differently than other named arguments
11.0.9

Changed

  • Changed version identifier for static analysis cache from "MD5 over source code" to Version::id()
  • The SebastianBergmann\CodeCoverage\Filter::includeUncoveredFiles() and SebastianBergmann\CodeCoverage\Filter::excludeUncoveredFiles() methods are no longer deprecated

Fixed

  • #1063: HTML report highlights argument named fn differently than other named arguments
12.0.3

Fixed

  • #CoversClass does not target code in parent class(es)
12.0.2

Changed

  • Changed version identifier for static analysis cache from "MD5 over source code" to Version::id()
12.0.1

Fixed

  • #1061: Enumerations cannot be targeted for code coverage
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai